{
    "Resources": [
        {
            "Uri": "/cli/v1/_/blackbox",
            "Interfaces": [
                {
                    "Type": "Get",
                    "LockdownAllow": true,
                    "Description": "Get black box data",
                    "Usage": "ipmcget -d blackbox",
                    "ProcessingFlow": [
                        {
                            "Type": "Task",
                            "Path": "/bmc/kepler/Managers/1/BlackBox",
                            "Interface": "bmc.kepler.Managers.BlackBox",
                            "Name": "DumpData",
                            "Params": [
                                "/tmp/blackbox.tar"
                            ],
                            "Destination": {
                                "TaskId": "TaskId"
                            },
                            "PostTaskProcess": [
                                {
                                    "Type": "ChangeOwner",
                                    "Params": [
                                        "/tmp/blackbox.tar"
                                    ]
                                }
                            ]
                        }
                    ],
                    "Echoes": [
                        "ipmcget/_blackbox",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/_/bootdevice",
            "Interfaces": [
                {
                    "Type": "Get",
                    "Description": "Get boot device",
                    "Usage": "ipmcget -d bootdevice",
                    "RspBody": {
                        "BootSourceOverrideTarget": "${ProcessingFlow[1]/Destination/value1}",
                        "BootSourceOverrideEnabled": "${ProcessingFlow[1]/Destination/value2}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/BootOptions",
                            "Interface": "bmc.kepler.Systems.BootOptions",
                            "Destination": {
                                "BootSourceOverrideTarget": "value1",
                                "BootSourceOverrideEnabled": "value2"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcget/_bootdevice"
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/_/coolingdeviceinfo",
            "Interfaces": [
                {
                    "Type": "Get",
                    "Description": "Get fan or pump mode and the percentage of the fan or pump speed",
                    "Usage": "ipmcget -d coolingdeviceinfo -v <devicetype>",
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "devicetype": {
                                "Required": false
                            }
                        }
                    },
                    "RspBody": {
                        "devicetype": "${ReqBody/devicetype}",
                        "PumpSupported": "${Statements/PumpSupported()}",
                        "FanCtrlMode": "${ProcessingFlow[1]/Destination/CtrlMode}",
                        "FanTimeout": "${ProcessingFlow[1]/Destination/TimeOut}",
                        "PumpCtrlMode": "${ProcessingFlow[2]/Destination/CtrlMode}",
                        "PumpTimeout": "${ProcessingFlow[2]/Destination/TimeOut}",
                        "GetCoolingFanList": "${Statements/GetCoolingFanList()}",
                        "GetThermalFanList": "${Statements/GetThermalFanList()}",
                        "GetCoolingPumpList": "${Statements/GetCoolingPumpList()}",
                        "GetThermalPumpList": "${Statements/GetThermalPumpList()}"
                    },
                    "Statements": {
                        "PumpSupported": {
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.utils.is_valid_path('/bmc/kepler/Systems/1/LiquidCoolingConfig')"
                                }
                            ]
                        },
                        "GetCoolingFanList": {
                            "Input": "${ProcessingFlow[3]/Destination/CoolingFanList}",
                            "Steps": [
                                {
                                    "Type": "Expand"
                                }
                            ]
                        },
                        "GetThermalFanList": {
                            "Input": "${ProcessingFlow[4]/Destination/ThermalFanList}",
                            "Steps": [
                                {
                                    "Type": "Expand"
                                }
                            ]
                        },
                        "GetCoolingPumpList": {
                            "Input": "${ProcessingFlow[5]/Destination/CoolingPumpList}",
                            "Steps": [
                                {
                                    "Type": "Expand"
                                }
                            ]
                        },
                        "GetThermalPumpList": {
                            "Input": "${ProcessingFlow[6]/Destination/ThermalPumpList}",
                            "Steps": [
                                {
                                    "Type": "Expand"
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/CoolingConfig",
                            "Interface": "bmc.kepler.Systems.CoolingConfig",
                            "Destination": {
                                "CtrlMode": "CtrlMode",
                                "TimeOut": "TimeOut"
                            }
                        },
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/LiquidCoolingConfig",
                            "Interface": "bmc.kepler.Systems.LiquidCoolingConfig",
                            "Destination": {
                                "CtrlMode": "CtrlMode",
                                "TimeOut": "TimeOut"
                            }
                        },
                        {
                            "Type": "List",
                            "Path": "/bmc/kepler/Systems/1/CoolingFan",
                            "Interface": "bmc.kepler.Systems.CoolingFan",
                            "Destination": {
                                "Members": "CoolingFanList"
                            }
                        },
                        {
                            "Type": "List",
                            "Path": "/bmc/kepler/Systems/1/Thermal/Fans",
                            "Interface": "bmc.kepler.Systems.Fan",
                            "Destination": {
                                "Members": "ThermalFanList"
                            }
                        },
                        {
                            "Type": "List",
                            "Path": "/bmc/kepler/Systems/1/CoolingPumps",
                            "Interface": "bmc.kepler.Systems.CoolingPump",
                            "Destination": {
                                "Members": "CoolingPumpList"
                            }
                        },
                        {
                            "Type": "List",
                            "Path": "/bmc/kepler/Systems/1/Thermal/Pumps",
                            "Interface": "bmc.kepler.Systems.Pump",
                            "Destination": {
                                "Members": "ThermalPumpList"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcget/_coolingdeviceinfo"
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/_/diaginfo",
            "Interfaces": [
                {
                    "Type": "Get",
                    "LockdownAllow": true,
                    "Description": "Get diagnostic info of management subsystem",
                    "Usage": "ipmcget -d diaginfo [-v destination]",
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "destination": {
                                "Type": "string",
                                "Required": false,
                                "Sensitive": true
                            }
                        }
                    },
                    "RspBody": {
                        "TaskId": "${ProcessingFlow[1]/Destination/TaskId}"
                    },
                    "Statements": {
                        "GetDestination": {
                            "Input": "${ReqBody/destination}",
                            "Steps": [
                                {
                                    "Type": "Switch",
                                    "Formula": [
                                        {
                                            "Case": null,
                                            "To": "/tmp/dump_info.tar.gz"
                                        },
                                        {
                                            "To": "${ReqBody/destination}"
                                        }
                                    ]
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Task",
                            "Path": "/bmc/kepler/Managers/1/LogServices",
                            "Interface": "bmc.kepler.Managers.LogServices",
                            "Name": "Dump",
                            "Params": [
                                0,
                                "${Statements/GetDestination()}"
                            ],
                            "Destination": {
                                "TaskId": "TaskId"
                            },
                            "PostTaskProcess": [
                                {
                                    "Type": "ChangeOwner",
                                    "Params": [
                                        "${Statements/GetDestination()}"
                                    ]
                                }
                            ]
                        }
                    ],
                    "Echoes": [
                        "ipmcget/_diaginfo"
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/_/faninfo",
            "Interfaces": [
                {
                    "Type": "Get",
                    "Description": "Get fan mode and the percentage of the fan speed",
                    "Usage": "ipmcget -d faninfo",
                    "RspBody": {
                        "CtrlMode": "${ProcessingFlow[1]/Destination/CtrlMode}",
                        "TimeOut": "${ProcessingFlow[1]/Destination/TimeOut}",
                        "GetCoolingFanList": "${Statements/GetCoolingFanList()}",
                        "GetThermalFanList": "${Statements/GetThermalFanList()}"
                    },
                    "Statements": {
                        "GetCoolingFanList": {
                            "Input": "${ProcessingFlow[2]/Destination/CoolingFanList}",
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.target.get_cooling_fan_list(Input)"
                                }
                            ]
                        },
                        "GetThermalFanList": {
                            "Input": "${ProcessingFlow[3]/Destination/ThermalFanList}",
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.target.get_thermal_fan_list(Input)"
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/CoolingConfig",
                            "Interface": "bmc.kepler.Systems.CoolingConfig",
                            "Destination": {
                                "CtrlMode": "CtrlMode",
                                "TimeOut": "TimeOut"
                            }
                        },
                        {
                            "Type": "List",
                            "Path": "/bmc/kepler/Systems/1/CoolingFan",
                            "Interface": "bmc.kepler.Systems.CoolingFan",
                            "Destination": {
                                "Members": "CoolingFanList"
                            }
                        },
                        {
                            "Type": "List",
                            "Path": "/bmc/kepler/Systems/1/Thermal/Fans",
                            "Interface": "bmc.kepler.Systems.Fan",
                            "Destination": {
                                "Members": "ThermalFanList"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcget/_faninfo"
                    ]
                }
            ]
        },
        {
            "Uri": "/bmc/kepler/Systems/1/CoolingFan/:Id",
            "Interfaces": [
                {
                    "Type": "Get",
                    "RspBody": {
                        "FanId": "${ProcessingFlow[1]/Destination/FanId}",
                        "Level": "${ProcessingFlow[1]/Destination/Level}",
                        "FrontPresence": "${ProcessingFlow[1]/Destination/FrontPresence}",
                        "RearPresence": "${ProcessingFlow[1]/Destination/RearPresence}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/CoolingFan/${Uri/Id}",
                            "Interface": "bmc.kepler.Systems.CoolingFan",
                            "Destination": {
                                "FanId": "FanId",
                                "Level": "Level",
                                "FrontPresence": "FrontPresence",
                                "RearPresence": "RearPresence"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "Uri": "/bmc/kepler/Systems/1/Thermal/Fans/:Id",
            "Interfaces": [
                {
                    "Type": "Get",
                    "RspBody": {
                        "FanId": "${ProcessingFlow[1]/Destination/FanId}",
                        "HardwarePWM": "${ProcessingFlow[1]/Destination/HardwarePWM}",
                        "MaxSupportedPWM": "${ProcessingFlow[1]/Destination/MaxSupportedPWM}",
                        "IsTwins": "${ProcessingFlow[1]/Destination/IsTwins}",
                        "FrontPresence": "${ProcessingFlow[1]/Destination/FrontPresence}",
                        "RearPresence": "${ProcessingFlow[1]/Destination/RearPresence}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/Thermal/Fans/${Uri/Id}",
                            "Interface": "bmc.kepler.Systems.Fan",
                            "Destination": {
                                "FanId": "FanId",
                                "HardwarePWM": "HardwarePWM",
                                "MaxSupportedPWM": "MaxSupportedPWM",
                                "IsTwins": "IsTwins",
                                "FrontPresence": "FrontPresence",
                                "RearPresence": "RearPresence"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "Uri": "/bmc/kepler/Systems/1/CoolingPumps/:Id",
            "Interfaces": [
                {
                    "Type": "Get",
                    "RspBody": {
                        "Id": "${ProcessingFlow[1]/Destination/Id}",
                        "Level": "${ProcessingFlow[1]/Destination/Level}",
                        "Presence": "${ProcessingFlow[1]/Destination/Presence}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/CoolingPumps/${Uri/Id}",
                            "Interface": "bmc.kepler.Systems.CoolingPump",
                            "Destination": {
                                "Id": "Id",
                                "Level": "Level",
                                "Presence": "Presence"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "Uri": "/bmc/kepler/Systems/1/Thermal/Pumps/:Id",
            "Interfaces": [
                {
                    "Type": "Get",
                    "RspBody": {
                        "Id": "${ProcessingFlow[1]/Destination/Id}",
                        "ActualPWM": "${ProcessingFlow[1]/Destination/ActualPWM}",
                        "MaxSupportedPWM": "${ProcessingFlow[1]/Destination/MaxSupportedPWM}",
                        "Presence": "${ProcessingFlow[1]/Destination/Presence}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/Thermal/Pumps/${Uri/Id}",
                            "Interface": "bmc.kepler.Systems.Pump",
                            "Destination": {
                                "Id": "Id",
                                "ActualPWM": "ActualPWM",
                                "MaxSupportedPWM": "MaxSupportedPWM",
                                "Presence": "Presence"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/_/operatelog",
            "Interfaces": [
                {
                    "Type": "Get",
                    "ResourceExist": {
                        "${Statements/CheckPrivilege()}": true
                    },
                    "Usage": "ipmcget -d operatelog",
                    "Query": {
                        "Skip": 0,
                        "Top": 20
                    },
                    "Description": "Print operation log",
                    "RspBody": {
                        "Skip": "${Query/Skip}",
                        "Top": "${Query/Top}",
                        "Count": "${ProcessingFlow[1]/Destination/Count}",
                        "Log": "${ProcessingFlow[1]/Destination/Log}",
                        "IsExists": "${Statements/IsExists()}"
                    },
                    "Statements": {
                        "IsExists": {
                            "Input": "${ProcessingFlow[1]/Destination/Count}",
                            "Steps": [
                                {
                                    "Type": "Switch",
                                    "Formula": [
                                        {
                                            "Case": 0,
                                            "To": false
                                        },
                                        {
                                            "Case": null,
                                            "To": false
                                        },
                                        {
                                            "To": true
                                        }
                                    ]
                                }
                            ]
                        },
                        "CheckPrivilege": {
                            "Steps": [
                                {
                                    "Type": "Plugin",
                                    "Formula": "orchestrator.target.check_privilege(Context.Privilege, 'SecurityMgmt')"
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Paging",
                            "Path": "/bmc/kepler/Managers/1/LogServices/OperateLog",
                            "Interface": "bmc.kepler.Managers.LogService",
                            "Name": "GetItems",
                            "Params": [
                                "${Query/Skip}",
                                "${Query/Top}"
                            ],
                            "Destination": {
                                "Count": "Count",
                                "Log": "Log"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcget/_operatelog",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/_/serialdir",
            "Interfaces": [
                {
                    "Type": "Get",
                    "Description": "Get currently connected serial direction",
                    "Usage": "ipmcget -d serialdir",
                    "RspBody": {
                        "connect_table": "${Statements/connect_table()}"
                    },
                    "Statements": {
                        "connect_table": {
                            "Input": "${ProcessingFlow[1]/Destination/connect_table}",
                            "Steps": [
                                {
                                    "Type": "Expand"
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "List",
                            "Path": "/bmc/kepler/Managers/1/SerialManagement",
                            "Destination": {
                                "Members": "connect_table"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcget/_serialdir"
                    ]
                }
            ]
        },
        {
            "Uri": "/bmc/kepler/Managers/1/SerialManagement/:SerialManagement_id",
            "Interfaces": [
                {
                    "Type": "Get",
                    "RspBody": {
                        "Id": "${ProcessingFlow[1]/Destination/Id}",
                        "Source": "${ProcessingFlow[1]/Destination/Source}",
                        "Destination": "${ProcessingFlow[1]/Destination/Destination}",
                        "Availability": "${ProcessingFlow[1]/Destination/Availability}",
                        "CurrentConnectStatus": "${ProcessingFlow[1]/Destination/CurrentConnectStatus}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Managers/1/SerialManagement/${Uri/SerialManagement_id}",
                            "Interface": "bmc.kepler.Managers.SerialManagement",
                            "Destination": {
                                "Id": "Id",
                                "Source": "Source",
                                "Destination": "Destination",
                                "Availability": "Availability",
                                "CurrentConnectStatus": "CurrentConnectStatus"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/_/systemcom",
            "Interfaces": [
                {
                    "Type": "Get",
                    "LockdownAllow": true,
                    "Description": "Get system com data",
                    "Usage": "ipmcget -d systemcom [-s <systemid>]",
                    "ReqHeader": {
                        "SystemId": []
                    },
                    "RspBody": {
                        "file_path": "${Statements/GetFilePath()}"
                    },
                    "Statements": {
                        "GetFilePath": {
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "return string.format('/tmp/system%scom.tar', ReqHeader.SystemId[1] and ReqHeader.SystemId[1] or '')"
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Task",
                            "Path": "/bmc/kepler/Managers/1/UartData",
                            "Interface": "bmc.kepler.Managers.UartData",
                            "Name": "Export",
                            "Params": [
                                "SYS COM",
                                "${Statements/GetFilePath()}"
                            ],
                            "PostTaskProcess": [
                                {
                                    "Type": "ChangeOwner",
                                    "Params": [
                                        "${Statements/GetFilePath()}"
                                    ]
                                }
                            ],
                            "ContextParams": {
                                "SystemId": "${ReqHeader/SystemId[1]}"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcget/_systemcom",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/bmc/kepler/Managers/:id",
            "Interfaces": [
                {
                    "Type": "Get",
                    "RspBody": {
                        "DateTime": "${ProcessingFlow[1]/Destination/DateTime}",
                        "TimeZoneName": "${ProcessingFlow[1]/Destination/TimeZoneName}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Managers/${Uri/id}",
                            "Interface": "bmc.kepler.Managers.Time",
                            "Destination": {
                                "DateTime": "DateTime",
                                "TimeZoneName": "TimeZoneName"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/_/sel",
            "Interfaces": [
                {
                    "Type": "Get",
                    "Description": "Print System Event Log (SEL)",
                    "Usage": "ipmcget -d sel -v <option> [sel_id]",
                    "Query": {
                        "Skip": 0,
                        "Top": 20
                    },
                    "ReqBody": {
                        "Type": "object",
                        "Required": true,
                        "Properties": {
                            "option": {
                                "Required": true,
                                "Validator": [
                                    {
                                        "Type": "Enum",
                                        "Formula": [
                                            "list",
                                            "info",
                                            "suggestion"
                                        ]
                                    }
                                ],
                                "Description": "\n list              list sel record.\n info              get sel information.\n suggestion ID     get sel suggestion based on event number."
                            },
                            "Id": {
                                "Required": false
                            }
                        }
                    },
                    "RspBody": {
                        "option": "${ReqBody/option}",
                        "Id": "${ReqBody/Id}",
                        "EventList": "${ProcessingFlow[3]/Destination/EventList}",
                        "Count": "${ProcessingFlow[3]/Destination/Total}",
                        "Version": "${Statements/GetVersion()}",
                        "CurEventCount": "${Statements/GetCurEventCount()}",
                        "MaxEventCount": "${Statements/GetMaxEventCount()}",
                        "Event": "${ProcessingFlow[2]/Destination/EventList}",
                        "GetIdValid": "${Statements/GetIdValid()}",
                        "IdLowerThanCurEventCount": "${Statements/IdLowerThanCurEventCount()}"
                    },
                    "Statements": {
                        "GetVersion": {
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "return ProcessingFlow[1].Destination.Version or 'NA'"
                                }
                            ]
                        },
                        "GetCurEventCount": {
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "return ProcessingFlow[1].Destination.CurEventCount or 'NA'"
                                }
                            ]
                        },
                        "GetMaxEventCount": {
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "return ProcessingFlow[1].Destination.MaxEventCount or 'NA'"
                                }
                            ]
                        },
                        "GetSkip": {
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "return tonumber(Query.Skip) + 1"
                                }
                            ]
                        },
                        "GetIdValid": {
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "local id = tonumber(ReqBody.Id) return id and math.type(id) == 'integer'"
                                }
                            ]
                        },
                        "IdLowerThanCurEventCount": {
                            "Steps": [
                                {
                                    "Type": "Script",
                                    "Formula": "local id = tonumber(ReqBody.Id) return id and math.type(id) == 'integer' and id >= 1 and id <= ProcessingFlow[1].Destination.CurEventCount"
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Method",
                            "Path": "/bmc/kepler/Systems/1/Events",
                            "Interface": "bmc.kepler.Systems.Events",
                            "Name": "GetEventInfo",
                            "Destination": {
                                "Version": "Version",
                                "CurEventCount": "CurEventCount",
                                "MaxEventCount": "MaxEventCount"
                            }
                        },
                        {
                            "Type": "Method",
                            "Path": "/bmc/kepler/Systems/1/Events",
                            "Interface": "bmc.kepler.Systems.Events",
                            "Name": "GetEventList",
                            "Params": [
                                "${ReqBody/Id}",
                                1,
                                {}
                            ],
                            "Destination": {
                                "EventList": "EventList"
                            },
                            "CallIf": {
                                "${ReqBody/option}": "suggestion",
                                "${ReqBody/Id}": "#WITH",
                                "${Statements/GetIdValid()}": true,
                                "${Statements/IdLowerThanCurEventCount()}": true
                            }
                        },
                        {
                            "Type": "Paging",
                            "Path": "/bmc/kepler/Systems/1/Events",
                            "Interface": "bmc.kepler.Systems.Events",
                            "Name": "GetEventList",
                            "Params": [
                                "${Statements/GetSkip()}",
                                "${Query/Top}",
                                {}
                            ],
                            "Destination": {
                                "Total": "Total",
                                "EventList": "EventList"
                            },
                            "CallIf": {
                                "${ReqBody/option}": "list",
                                "${ReqBody/Id}": "#WITHOUT"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcget/_sel",
                        ""
                    ]
                }
            ]
        },
        {
            "Uri": "/bmc/kepler/Systems/1/Storage/Drives/:id",
            "Interfaces": [
                {
                    "Type": "Get",
                    "RspBody": {
                        "Id": "${ProcessingFlow[1]/Destination/Id}",
                        "SlotNumber": "${ProcessingFlow[1]/Destination/SlotNumber}",
                        "Name": "${ProcessingFlow[1]/Destination/Name}",
                        "Presence": "${ProcessingFlow[1]/Destination/Presence}",
                        "CapacityMiB": "${ProcessingFlow[1]/Destination/CapacityMiB}",
                        "TemperatureCelsius": "${ProcessingFlow[1]/Destination/TemperatureCelsius}",
                        "Model": "${ProcessingFlow[1]/Destination/Model}",
                        "Protocol": "${ProcessingFlow[1]/Destination/Protocol}",
                        "CapableSpeedGbs": "${ProcessingFlow[1]/Destination/CapableSpeedGbs}",
                        "NegotiatedSpeedGbs": "${ProcessingFlow[1]/Destination/NegotiatedSpeedGbs}",
                        "MediaType": "${ProcessingFlow[1]/Destination/MediaType}",
                        "FirmwareStatus": "${ProcessingFlow[1]/Destination/FirmwareStatus}",
                        "SerialNumber": "${ProcessingFlow[1]/Destination/SerialNumber}",
                        "Manufacturer": "${ProcessingFlow[1]/Destination/Manufacturer}",
                        "PowerOnHours": "${ProcessingFlow[1]/Destination/PowerOnHours}",
                        "Revision": "${ProcessingFlow[1]/Destination/Revision}",
                        "RotationSpeedRPM": "${ProcessingFlow[1]/Destination/RotationSpeedRPM}",
                        "BlockSizeBytes": "${ProcessingFlow[1]/Destination/BlockSizeBytes}",
                        "SASAddress1": "${ProcessingFlow[1]/Destination/SASAddress1}",
                        "SASAddress2": "${ProcessingFlow[1]/Destination/SASAddress2}",
                        "PredictedMediaLifeLeftPercent": "${ProcessingFlow[1]/Destination/PredictedMediaLifeLeftPercent}",
                        "PredictedFailCount": "${ProcessingFlow[1]/Destination/PredictedFailCount}",
                        "MediaErrorCount": "${ProcessingFlow[1]/Destination/MediaErrorCount}",
                        "OtherErrorCount": "${ProcessingFlow[1]/Destination/OtherErrorCount}",
                        "PatrolState": "${ProcessingFlow[1]/Destination/PatrolState}",
                        "PowerState": "${ProcessingFlow[1]/Destination/PowerState}",
                        "RebuildState": "${ProcessingFlow[1]/Destination/RebuildState}",
                        "RebuildProgress": "${ProcessingFlow[1]/Destination/RebuildProgress}",
                        "BootPriority": "${ProcessingFlow[1]/Destination/BootPriority}",
                        "HotspareType": "${ProcessingFlow[1]/Destination/HotspareType}",
                        "EnclosureId": "${ProcessingFlow[1]/Destination/EnclosureId}",
                        "LocateLed": "${ProcessingFlow[1]/Destination/LocateLed}",
                        "FaultLed": "${ProcessingFlow[1]/Destination/FaultLed}",
                        "LocationIndicatorState": "${ProcessingFlow[1]/Destination/LocationIndicatorState}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/Storage/Drives/${Uri/id}",
                            "Interface": "bmc.kepler.Systems.Storage.Drive",
                            "Destination": {
                                "Id": "Id",
                                "SlotNumber": "SlotNumber",
                                "Name": "Name",
                                "Presence": "Presence",
                                "CapacityMiB": "CapacityMiB",
                                "TemperatureCelsius": "TemperatureCelsius",
                                "Model": "Model",
                                "Protocol": "Protocol",
                                "CapableSpeedGbs": "CapableSpeedGbs",
                                "NegotiatedSpeedGbs": "NegotiatedSpeedGbs",
                                "MediaType": "MediaType",
                                "FirmwareStatus": "FirmwareStatus",
                                "SerialNumber": "SerialNumber",
                                "Manufacturer": "Manufacturer",
                                "PowerOnHours": "PowerOnHours",
                                "Revision": "Revision",
                                "RotationSpeedRPM": "RotationSpeedRPM",
                                "BlockSizeBytes": "BlockSizeBytes",
                                "SASAddress1": "SASAddress1",
                                "SASAddress2": "SASAddress2",
                                "PredictedMediaLifeLeftPercent": "PredictedMediaLifeLeftPercent",
                                "PredictedFailCount": "PredictedFailCount",
                                "MediaErrorCount": "MediaErrorCount",
                                "OtherErrorCount": "OtherErrorCount",
                                "PatrolState": "PatrolState",
                                "PowerState": "PowerState",
                                "RebuildState": "RebuildState",
                                "RebuildProgress": "RebuildProgress",
                                "BootPriority": "BootPriority",
                                "HotspareType": "HotspareType",
                                "EnclosureId": "EnclosureId",
                                "LocateLed": "LocateLed",
                                "FaultLed": "FaultLed",
                                "LocationIndicatorState": "LocationIndicatorState"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/_/psuinfo",
            "Interfaces": [
                {
                    "Type": "Get",
                    "Description": "Get PSU component information",
                    "Usage": "ipmcget -d psuinfo",
                    "Brief": "",
                    "RspBody": {
                        "ActiveStandbySupported": "${ProcessingFlow[1]/Destination/ActiveStandbySupported}",
                        "GetPowerList": "${Statements/GetPowerList()}",
                        "PowerWorkingMode": "${ProcessingFlow[1]/Destination/PowerWorkingMode}",
                        "PowerActualWorkingMode": "${ProcessingFlow[1]/Destination/PowerActualWorkingMode}",
                        "ExpectedActivePSU": "${ProcessingFlow[1]/Destination/ExpectedActivePSU}",
                        "DeepSleepSupported": "${ProcessingFlow[1]/Destination/DeepSleepSupported}",
                        "DeepSleep": "${ProcessingFlow[1]/Destination/DeepSleep}"
                    },
                    "Statements": {
                        "GetPowerList": {
                            "Input": "${ProcessingFlow[2]/Destination/PowerList}",
                            "Steps": [
                                {
                                    "Type": "Expand"
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/PowerStrategy",
                            "Interface": "bmc.kepler.Systems.PowerStrategy",
                            "Destination": {
                                "ActiveStandbySupported": "ActiveStandbySupported",
                                "PowerWorkingMode": "PowerWorkingMode",
                                "PowerActualWorkingMode": "PowerActualWorkingMode",
                                "ExpectedActivePSU": "ExpectedActivePSU",
                                "DeepSleepSupported": "DeepSleepSupported",
                                "DeepSleep": "DeepSleep"
                            }
                        },
                        {
                            "Type": "List",
                            "Path": "/bmc/kepler/Systems/1/PowerMgmt",
                            "Destination": {
                                "Members": "PowerList"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcget/_psuinfo"
                    ]
                }
            ]
        },
        {
            "Uri": "/bmc/kepler/Systems/1/PowerMgmt/:Id",
            "Interfaces": [
                {
                    "Type": "Get",
                    "RspBody": {
                        "SlotNumber": "${ProcessingFlow[1]/Destination/SlotNumber}",
                        "Manufacturer": "${ProcessingFlow[1]/Destination/Manufacturer}",
                        "Model": "${ProcessingFlow[1]/Destination/Model}",
                        "SerialNumber": "${ProcessingFlow[1]/Destination/SerialNumber}",
                        "FirmwareVersion": "${ProcessingFlow[1]/Destination/FirmwareVersion}",
                        "PowerSupplyType": "${ProcessingFlow[1]/Destination/PowerSupplyType}",
                        "Rate": "${ProcessingFlow[2]/Destination/Rate}",
                        "DeviceLocator": "${ProcessingFlow[1]/Destination/DeviceLocator}",
                        "WorkMode": "${ProcessingFlow[1]/Destination/WorkMode}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/PowerMgmt/${Uri/Id}",
                            "Interface": "bmc.kepler.Systems.PowerMgmt.OnePower",
                            "Destination": {
                                "SlotNumber": "SlotNumber",
                                "Manufacturer": "Manufacturer",
                                "Model": "Model",
                                "SerialNumber": "SerialNumber",
                                "FirmwareVersion": "FirmwareVersion",
                                "PowerSupplyType": "PowerSupplyType",
                                "DeviceLocator": "DeviceLocator",
                                "WorkMode": "WorkMode"
                            }
                        },
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/PowerMgmt/${Uri/Id}",
                            "Interface": "bmc.kepler.Systems.PowerMgmt.OnePower.Metrics",
                            "Destination": {
                                "Rate": "Rate"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/_/ledinfo",
            "Interfaces": [
                {
                    "Type": "Get",
                    "Description": "Get led information",
                    "Usage": "ipmcget -d ledinfo",
                    "Brief": "",
                    "RspBody": {
                        "led_list_expand": "${Statements/led_list_expand()}"
                    },
                    "Statements": {
                        "led_list_expand": {
                            "Input": "${ProcessingFlow[1]/Destination/led_list}",
                            "Steps": [
                                {
                                    "Type": "Expand"
                                }
                            ]
                        }
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "List",
                            "Path": "/bmc/kepler/Systems/1/Leds",
                            "Interface": "bmc.kepler.Systems.Led",
                            "Destination": {
                                "Members": "led_list"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcget/_ledinfo"
                    ]
                }
            ]
        },
        {
            "Uri": "/bmc/kepler/Systems/1/Leds/:ledId",
            "Interfaces": [
                {
                    "Type": "Get",
                    "RspBody": {
                        "Name": "${ProcessingFlow[1]/Destination/Name}",
                        "State": "${ProcessingFlow[1]/Destination/State}",
                        "OffDuration": "${ProcessingFlow[1]/Destination/OffDuration}",
                        "OnDuration": "${ProcessingFlow[1]/Destination/OnDuration}",
                        "Capability": "${ProcessingFlow[1]/Destination/Capability}",
                        "Id": "${ProcessingFlow[1]/Destination/Id}",
                        "DefaultOSColor": "${ProcessingFlow[1]/Destination/DefaultOSColor}",
                        "DefaultLCSColor": "${ProcessingFlow[1]/Destination/DefaultLCSColor}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/Systems/1/Leds/${Uri/ledId}",
                            "Interface": "bmc.kepler.Systems.Led",
                            "Destination": {
                                "Name": "Name",
                                "State": "State",
                                "OffDuration": "OffDuration",
                                "OnDuration": "OnDuration",
                                "Capability": "Capability",
                                "Id": "Id",
                                "DefaultOSColor": "DefaultOSColor",
                                "DefaultLCSColor": "DefaultLCSColor"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "Uri": "/cli/v1/_/rollbackstatus",
            "Interfaces": [
                {
                    "Type": "Get",
                    "Description": "Get rollback status",
                    "Usage": "ipmcget -d rollbackstatus",
                    "Brief": "",
                    "RspBody": {
                        "RollbackStatus": "${ProcessingFlow[1]/Destination/RollbackStatus}"
                    },
                    "ProcessingFlow": [
                        {
                            "Type": "Property",
                            "Path": "/bmc/kepler/UpdateService/FirmwareInventory/ActiveBMC",
                            "Interface": "bmc.kepler.UpdateService.FirmwareInfo",
                            "Destination": {
                                "RollbackStatus": "RollbackStatus"
                            }
                        }
                    ],
                    "Echoes": [
                        "ipmcget/_rollbackstatus",
                        ""
                    ]
                }
            ]
        }
    ]
}