{
    "Resources": [
        {
            "Uri": "/cli/v1/maintenance",
            "Interfaces": [
                {
                    "Type": "Patch",
                    "Description": "Operate with maintenance"
                }
            ]
        },
        {
            "Uri": "/cli/v1/maintenance/download",
            "Interfaces": [
                {
                    "Type": "Patch",
                    "Description": "Download files",
                    "Usage": "ipmcset -t maintenance -d download -v <option>",
                    "Confirm": {
                        "Condition": true,
                        "Description": "WARNING: The operation may overwrite firmware existed.\nContinue? [Y/N]:"
                    },
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "option": {
                                "Required": true,
                                "Type": "integer",
                                "Validator": [
                                    {
                                        "Type": "Enum",
                                        "Formula": [
                                            1
                                        ]
                                    }
                                ],
                                "Description": "\n    1    Download BIOS."
                            }
                        }
                    },
                    "RspBody": {
                        "option": "${ProcessingFlow[1]/Destination/TaskId}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Task",
                            "Path": "/bmc/kepler/Systems/1/BiosUpgradeService",
                            "Interface": "bmc.kepler.Systems.BiosUpgradeService",
                            "Name": "ExportBiosFirmware",
                            "Params": [],
                            "Destination": {
                                "TaskId": "TaskId"
                            },
                            "CallIf": {
                                "${ReqBody/option}": 1
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcset/maintenance_download",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/maintenance/biosprint",
            "Interfaces": [
                {
                    "Type": "Patch",
                    "Description": "BIOS print set",
                    "Usage": "ipmcset -t maintenance -d biosprint -v <option>",
                    "Confirm": {
                        "Condition": "${Statements/GetCondition()}",
                        "Description": "WARNING: Setting BIOS debug info enable will make system start slow.\nDo you want to continue?[Y/N]:"
                    },
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "option": {
                                "Required": true,
                                "Type": "integer",
                                "Validator": [
                                    {
                                        "Type": "Enum",
                                        "Formula": [
                                            1,
                                            2
                                        ]
                                    }
                                ],
                                "Description": "\n    1    BIOS debug info enable\n    2    BIOS debug info enabled/disabled by BIOS setup menu"
                            }
                        }
                    },
                    "RspBody": {
                        "option": "${ReqBody/option}"
                    },
                    "Statements": {
                        "GetCondition": {
                            "Input": "${ReqBody/option}",
                            "Steps": [
                                {
                                    "Type": "Switch",
                                    "Formula": [
                                        {
                                            "Case": 1,
                                            "To": true
                                        },
                                        {
                                            "To": false
                                        }
                                    ]
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Method",
                            "Path": "/bmc/kepler/Systems/1/Bios",
                            "Interface": "bmc.kepler.Systems.Bios",
                            "Name": "ImportBiosSetup",
                            "Params": [
                                "Setting",
                                "{'Attributes':{'SYSDBGLevel':'Enabled'}}"
                            ],
                            "CallIf": {
                                "${ReqBody/option}": 1
                            }
                        },
                        {
                            "Type": "Method",
                            "Path": "/bmc/kepler/Systems/1/Bios",
                            "Interface": "bmc.kepler.Systems.Bios",
                            "Name": "ImportBiosSetup",
                            "Params": [
                                "Setting",
                                "{'Attributes':{'SYSDBGLevel':'Disabled'}}"
                            ],
                            "CallIf": {
                                "${ReqBody/option}": 2
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcset/maintenance_biosprint",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/maintenance/upgradebios",
            "Interfaces": [
                {
                    "Type": "Patch",
                    "Description": "Upgrade bios component",
                    "Usage": "ipmcset -t maintenance -d upgradebios -v <filepath>",
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "filepath": {
                                "Required": true,
                                "Type": "string",
                                "Description": "      e.g.: /tmp/image.hpm\nNote:\n    1.It can only be executed when OS is power-off.\n"
                            }
                        }
                    },
                    "RspBody": {
                        "GetRealUpgradePath": "${Statements/GetRealUpgradePath()}",
                        "PowerState": "${ProcessingFlow[4]/Destination/PowerState}",
                        "SoftwareName": "${ProcessingFlow[5]/Destination/SoftwareName}"
                    },
                    "Statements": {
                        "GetRealUpgradePath": {
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.upgrade.get_update_filepath(ReqBody.filepath)"
                                }
                            ]
                        },
                        "IsFilePermitted": {
                            "Input": "${Statements/GetRealUpgradePath()}",
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.account.is_permitted(Context, Input[2], 'rw')"
                                }
                            ]
                        },
                        "CheckFilePermitted": {
                            "Input": "${Statements/IsFilePermitted()}",
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "return Input or error(custom_messages.NoPrivilegeToOperateSpecifiedFile())"
                                }
                            ]
                        },
                        "GetBiosUpgradeTable": {
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "return {IsOnlineForce = 'true'}"
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Task",
                            "Path": "/bmc/kepler/UpdateService",
                            "Interface": "bmc.kepler.UpdateService",
                            "Name": "StartUpgrade",
                            "Params": [
                                "${Statements/GetRealUpgradePath()[2]}",
                                {}
                            ],
                            "CallIf": {
                                "${Statements/GetRealUpgradePath()[1]}": true,
                                "${Statements/CheckFilePermitted()}": true
                            }
                        },
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/UpdateService/FirmwareInventory/Bios",
                            "Interface": "bmc.kepler.UpdateService.FirmwareInfo",
                            "Source": {
                                "Parameters": "${Statements/GetBiosUpgradeTable()}"
                            }
                        },
                        {
                            "Type": "List",
                            "Path": "/bmc/kepler/Systems/1/FruCtrl",
                            "Destination": {
                                "Members": "FruCtrlList"
                            }
                        },
                        {
                            "Type": "Property",
                            "Path": "${ProcessingFlow[3]/Destination/FruCtrlList[1]}",
                            "Interface": "bmc.kepler.Systems.FruCtrl",
                            "Destination": {
                                "PowerState": "PowerState"
                            }
                        },
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Managers/1/BMC",
                            "Interface": "bmc.kepler.Managers.BMC",
                            "Destination": {
                                "SoftwareName": "SoftwareName"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcset/maintenance_upgradebios",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/maintenance/resetiME",
            "Interfaces": [
                {
                    "Type": "Patch",
                    "Description": "Reset ARM iME",
                    "Usage": "ipmcset -t maintenance -d resetiME",
                    "Confirm": {
                        "Condition": true,
                        "Description": "WARNING: The operation may have many adverse effects.\nDo you want to continue?[Y/N]:"
                    },
                    "RspBody": {
                        "Result": "${ProcessingFlow[1]/Destination/Result}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Method",
                            "Path": "/bmc/kepler/Systems/1/Pmu",
                            "Interface": "bmc.kepler.Systems.Pmu",
                            "Name": "Reset",
                            "Destination": {
                                "Result": "Result"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcset/maintenance_resetiME",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/maintenance/poweronlock",
            "Interfaces": [
                {
                    "Type": "Patch",
                    "ResourceExist": {
                        "${Statements/UserPrivilege()}": true
                    },
                    "Usage": "ipmcset -t maintenance -d poweronlock -v clear [-s <systemid>]",
                    "ReqHeader": {
                        "SystemId": []
                    },
                    "Description": "Clear the power-on lock status.",
                    "Confirm": {
                        "Condition": true,
                        "Description": "WARNING: The operation may have many adverse effects.\nDo you want to continue? [Y/N]:"
                    },
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "clear": {
                                "Required": true,
                                "Type": "string",
                                "Validator": [
                                    {
                                        "Type": "Enum",
                                        "Formula": [
                                            "clear"
                                        ]
                                    }
                                ]
                            }
                        }
                    },
                    "RspBody": {
                        "TimeoutFlagClearList": "${Statements/GetTimeoutFlag()}",
                        "HostType": "${Statements/GetHostType()}"
                    },
                    "Statements": {
                        "UserPrivilege": {
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "local privilege = #Context.Privilege if privilege == 9 then return true else error(base_messages.InsufficientPrivilege()) end"
                                }
                            ]
                        },
                        "GetTimeoutFlag": {
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.maintenance.getclear_timeoutFlag(ReqHeader.SystemId)"
                                }
                            ]
                        },
                        "GetHostType": {
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.fructrl.get_hosttype()"
                                }
                            ]
                        }
                    },
                    "Echoes": [
                        "ipmcset/maintenance_poweronlock"
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/maintenance/ethlink",
            "Interfaces": [
                {
                    "Type": "Patch",
                    "Description": "Set ethernet port link status",
                    "Usage": "ipmcset -t maintenance -d ethlink -v eth[x] [enable|disable]",
                    "Confirm": {
                        "Condition": "${Statements/eth_name_is_valid()}",
                        "Description": "WARNING: This operation will ${ReqBody/state} ${ReqBody/eth_name}.\nDo you want to continue?[Y/N]:"
                    },
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "eth_name": {
                                "Required": true,
                                "Type": "string"
                            },
                            "state": {
                                "Required": true,
                                "Type": "string",
                                "Validator": [
                                    {
                                        "Type": "Enum",
                                        "Formula": [
                                            "enable",
                                            "disable"
                                        ]
                                    }
                                ]
                            }
                        }
                    },
                    "RspBody": {
                        "EthName": "${ReqBody/eth_name}",
                        "State": "${ReqBody/state}",
                        "ParamValid": "${Statements/eth_name_is_valid()}",
                        "EthList": "${Statements/get_all_eth()[1]}"
                    },
                    "Statements": {
                        "eth_name_is_valid": {
                            "Input": "${ReqBody/eth_name}",
                            "Steps": [
                                {
                                    "Type": "Switch",
                                    "Formula": [
                                        {
                                            "Case": "eth0",
                                            "To": true
                                        },
                                        {
                                            "Case": "eth2",
                                            "To": true
                                        },
                                        {
                                            "To": false
                                        }
                                    ]
                                }
                            ]
                        },
                        "get_all_eth": {
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.bmc_network.get_all_eth(ReqBody.eth_name, ProcessingFlow[1].Destination.port_paths)"
                                }
                            ]
                        },
                        "get_eth_state": {
                            "Input": "${ReqBody/state}",
                            "Steps": [
                                {
                                    "Type": "Switch",
                                    "Formula": [
                                        {
                                            "Case": "enable",
                                            "To": true
                                        },
                                        {
                                            "To": false
                                        }
                                    ]
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "List",
                            "Path": "/bmc/kepler/Managers/1/EthernetInterfaces",
                            "Interface": "bmc.kepler.Managers.EthernetInterfaces.MgmtPort",
                            "Destination": {
                                "Members": "port_paths"
                            }
                        },
                        {
                            "Type": "Method",
                            "Path": "/bmc/kepler/Managers/1/EthernetInterfaces",
                            "Interface": "bmc.kepler.Managers.EthernetInterfaces",
                            "Name": "SetEthState",
                            "Params": [
                                "${ReqBody/eth_name}",
                                "${Statements/get_eth_state()}"
                            ],
                            "CallIf": {
                                "${Statements/eth_name_is_valid()}": true
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcset/maintenance_ethlink",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/maintenance/ipaddr",
            "Interfaces": [
                {
                    "Type": "Patch",
                    "Description": "Set maintenance ip address",
                    "Usage": "ipmcset -t maintenance -d ipaddr -v <ipaddr> <mask>",
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "ipaddr": {
                                "Type": "string",
                                "Required": true,
                                "Validator": [
                                    {
                                        "Type": "Regex",
                                        "Formula": "^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$"
                                    }
                                ]
                            },
                            "mask": {
                                "Type": "string",
                                "Required": true,
                                "Validator": [
                                    {
                                        "Type": "Regex",
                                        "Formula": "^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$"
                                    }
                                ]
                            }
                        }
                    },
                    "RspBody": {
                        "ipaddr": "${ReqBody/ipaddr}",
                        "mask": "${ReqBody/mask}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Method",
                            "Path": "/bmc/kepler/Managers/1/EthernetInterfaces/Ipv4",
                            "Interface": "bmc.kepler.Managers.EthernetInterfaces.Ipv4",
                            "Name": "SetDedicatedMaintIpMask",
                            "Params": [
                                "${ReqBody/ipaddr}",
                                "${ReqBody/mask}"
                            ]
                        }
                    ],
                    "Echoes": [
                        "ipmcset/maintenance_ipaddr",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/maintenance/retiresystem",
            "Interfaces": [
                {
                    "Type": "Patch",
                    "Description": "Retire system",
                    "Usage": "ipmcset -t maintenance -d retiresystem -v <option>",
                    "Example": [
                        "ipmcset -t maintenance -d retiresystem -v 0",
                        "ipmcset -t maintenance -d retiresystem -v 1"
                    ],
                    "Confirm": {
                        "Condition": true,
                        "Description": "This operation will permanently delete software and hardware data related to the system.\nBefore retiring system, please ensure that the OS has been powered off.\nDo you want to continue?[Y/N]:"
                    },
                    "Authentication": {
                        "Description": "Input your password:",
                        "Condition": true
                    },
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "option": {
                                "Type": "integer",
                                "Required": true,
                                "Description": "\n    0    Clear all logs.\n    1    Preserve sel log entries, maintenance logs, and fault diagnosis logs for troubleshooting.\n",
                                "Validator": [
                                    {
                                        "Type": "Enum",
                                        "Formula": [
                                            0,
                                            1
                                        ]
                                    }
                                ]
                            }
                        }
                    },
                    "RspBody": {
                        "TaskId": "${ProcessingFlow[1]/Destination/TaskId}"
                    },
                    "Statements": {
                        "GetPreserveLog": {
                            "Input": "${ReqBody/option}",
                            "Steps": [
                                {
                                    "Type": "Switch",
                                    "Formula": [
                                        {
                                            "Case": 0,
                                            "To": false
                                        },
                                        {
                                            "Case": 1,
                                            "To": true
                                        }
                                    ]
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Method",
                            "Path": "/bmc/kepler/Systems/1/Product",
                            "Interface": "bmc.kepler.Systems.Product",
                            "Name": "RetireSystem",
                            "Params": [
                                "${Statements/GetPreserveLog()}"
                            ],
                            "Destination": {
                                "TaskId": "TaskId"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcset/maintenance_retiresystem",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/maintenance/callredfish",
            "Interfaces": [
                {
                    "Type": "Patch",
                    "Description": "callredfish",
                    "Usage": "ipmcset -t maintenance -d callredfish -v <uri> <method> <data> <header>",
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "uri": {
                                "Required": true,
                                "Type": "string",
                                "Validator": [
                                    {
                                        "Type": "Script",
                                        "Formula": "if string.match(Input, '^/redfish') == nil or string.match(Input, '%.%/') ~= nil then local err = base_messages.PropertyValueFormatError(Input, 'uri') err.RelatedProperties = {'#/uri'} error(err) end return true"
                                    }
                                ],
                                "Description": "\n\tMust start with '/redfish'"
                            },
                            "method": {
                                "Type": "string",
                                "Required": true,
                                "Validator": [
                                    {
                                        "Type": "Enum",
                                        "Formula": [
                                            "GET","PATCH","POST","DELETE"
                                        ]
                                    }
                                ],
                                "Description": "\n\tMethod types are: GET, PATCH, POST, DELETE"
                            },
                            "data": {
                                "Type": "string",
                                "Required": true,
                                "Description": "\n\tMust be JSON character or null"
                            },
                            "header": {
                                "Type": "string",
                                "Required": true,
                                "Description": "\n\tMust be JSON character or null"
                            }
                        }
                    },
                    "RspBody": {
                        "PwdValid": "${Statements/GetAuthorization()}",
                        "RedfishValid": "${Statements/CallRedfish()}"
                    },
                    "Statements": {
                        "GetAuthorization": {
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.maintenance.get_authorization()"
                                }
                            ]
                        },
                        "CallRedfish": {
                            "Input": "${Statements/GetAuthorization()}",
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.maintenance.call_redfish(Input, ReqBody.uri, ReqBody.method, ReqBody.data, ReqBody.header, Context.ClientIp)"
                                }
                            ]
                        }
                    },
                    "Echoes": [
                        "ipmcset/maintenance_callredfish",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/maintenance/importcsr",
            "Interfaces": [
                {
                    "Type": "Patch",
                    "Description": "Import CSR",
                    "Usage": "ipmcset -t maintenance -d importcsr -v <option> <filepath>",
                    "Confirm": {
                        "Condition": true,
                        "Description": "WARNING: The operation will overwrite eeprom and reset bmc.\nContinue? [Y/N]:"
                    },
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "option": {
                                "Required": true,
                                "Type": "string"
                            },
                            "filepath": {
                                "Required": true,
                                "Type": "string",
                                "Validator": [
                                    {
                                        "Type": "Regex",
                                        "Formula": "^/tmp/.{1,246}\\.hpm$"
                                    }
                                ],
                                "Description": "      e.g.: /tmp/image.hpm"
                            }
                        }
                    },
                    "RspBody": {
                        "GetRealUpgradePath": "${Statements/GetRealUpgradePath()}",
                        "TaskId": "${ProcessingFlow[1]/Destination/TaskId}"
                    },
                    "Statements": {
                        "GetRealUpgradePath": {
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.upgrade.get_update_filepath(ReqBody.filepath)"
                                }
                            ]
                        },
                        "IsFilePermitted": {
                            "Input": "${Statements/GetRealUpgradePath()}",
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.account.is_permitted(Context, Input[2], 'rw')"
                                }
                            ]
                        },
                        "CheckFilePermitted": {
                            "Input": "${Statements/IsFilePermitted()}",
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "return Input or error(custom_messages.NoPrivilegeToOperateSpecifiedFile())"
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Task",
                            "Path": "/bmc/kepler/UpdateService/Maintenance/Csr",
                            "Interface": "bmc.kepler.UpdateService.Maintenance",
                            "Name": "Import",
                            "Params": [
                                "${ReqBody/option}",
                                "${Statements/GetRealUpgradePath()[2]}"
                            ],
                            "Destination": {
                                "TaskId": "TaskId"
                            },
                            "CallIf": {
                                "${Statements/GetRealUpgradePath()[1]}": true,
                                "${Statements/CheckFilePermitted()}": true
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcset/maintenance_importcsr",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/maintenance/psualarmlatch",
            "Interfaces": [
                {
                    "Type": "Patch",
                    "Description": "Set the power supply alarm latch status",
                    "Usage": "ipmcset -t maintenance -d psualarmlatch -v <psu_slot> <state>",
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "psu_slot": {
                                "Required": false
                            },
                            "state": {
                                "Required": false
                            }
                        }
                    },
                    "RspBody": {
                        "MaxSlotNumber": "${Statements/GetMaxSlotNumber()}",
                        "Slot": "${Statements/GetSlotNumber()}",
                        "State": "${ReqBody/state}",
                        "CheckPSUAlarmLatchParams": "${Statements/CheckPSUAlarmLatchParams()}",
                        "SetPSUAlarmLatch": "${Statements/SetPSUAlarmLatch()}"
                    },
                    "Statements": {
                        "GetMaxSlotNumber": {
                            "Input": "${ProcessingFlow[1]/Destination/DeviceSpecication}",
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "for _, tab in ipairs(Input or {}) do if tab[1] == 'Psu' then return tab[2] end end return 1"
                                }
                            ]
                        },
                        "CheckPSUAlarmLatchParams": {
                            "Input": "${Statements/GetMaxSlotNumber()}",
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "check_psu_alarm_latch_params.lua"
                                }
                            ]
                        },
                        "SetPSUAlarmLatch": {
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.power.set_psu_alarm_latch(ProcessingFlow[2].Destination.Path, ReqBody.state)"
                                }
                            ]
                        },
                        "GetSlotNumber": {
                            "Input": "${ReqBody/psu_slot}",
                            "Steps": [
                                {
                                    "Type": "Convert",
                                    "Formula": "StringToNumber"
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Chassis/1",
                            "Interface": "bmc.kepler.Chassis",
                            "Destination": {
                                "DeviceSpecication": "DeviceSpecication"
                            }
                        },
                        {
                            "Type": "Method",
                            "Path": "/bmc/kepler/MdbService",
                            "Interface": "bmc.kepler.Mdb",
                            "Name": "GetPath",
                            "Params": [
                                "bmc.kepler.Systems.PowerMgmt.OnePower",
                                {
                                    "SlotNumber": "${Statements/GetSlotNumber()}"
                                },
                                false
                            ],
                            "Destination": {
                                "Path": "Path"
                            },
                            "CallIf": {
                                "${Statements/CheckPSUAlarmLatchParams()}": true
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcset/maintenance_psualarmlatch",
                        ""
                    ]
                }
            ]
        }
    ]
}