Legrand / Raritan Xerus™ JSON-RPC API for Remote Access Devices like KX4-101, KX3G2
Loading...
Searching...
No Matches
PowerDeviceManager.idl
1#ifndef __RADM_POWER_DEVICE_MANAGER_IDL__
2#define __RADM_POWER_DEVICE__MANAGER_IDL__
3
4#include <UserEvent.idl>
5#include <PowerDevice.idl>
6
7module radm {
8
10 constant int ERR_INVALID_ARGUMENT = 1; ///< Invalid argument
11 constant int ERR_PDU_ALREADY_EXISTS = 2; ///< A PDU with that host name already exists
12 constant int ERR_MAX_PDUS_REACHED = 3; ///< Maximum number of pdus reached
13 constant int ERR_PDU_NOT_FOUND = 4; ///< A PDU with that host name does not exist
14
15 structure Settings {
16 int powerCycleDelay; ///< Delay between turning off and turning on in power cycle (in seconds)
17 };
18
19 /**
20 * Get configured power devices
21 *
22 * @return Map of configured power devices, keyed by host name
23 */
24 map<string, PowerDevice> getPowerDevices();
25
26 /**
27 * Add a new power device (PDU)
28 *
29 * @param settings Settings for creating the new power device
30 *
31 * @return 0 on success
32 * @return 1 if any given setting was invalid
33 * @return 2 if a PDU with that host name or name already exists
34 * @return 3 if the maximum number of PDUs is reached
35 * @return 101..106 in case of an SNMP error during PDU connection (see constants in {@link PowerDevice}
36 */
38
39 /**
40 * Remove the given power device (PDU)
41 *
42 * @param host Host name of the PDU to be removed
43 *
44 * @return 0 on success
45 * @return 4 if there is no PDU with that host name
46 */
47 int deletePowerDevice(in string host);
48
49 /**
50 * Get global power device settings
51 *
52 * @return Settings
53 */
55
56 /**
57 * Set global power device settings
58 *
59 * @param settings New settings
60 *
61 * @return 0 on success
62 * @return 1 if any setting was invalid
63 */
64 int setSettings(in Settings settings);
65
66 /** Event: A power device was added or removed */
67 valueobject PowerDeviceChangedEvent extends event.UserEvent {
68 map<string, PowerDevice> powerDevices; ///< Map of power devices after change
69 };
70
71 /** Event: A power device was added */
73 PowerDevice device; ///< Newly created power device
74 };
75
76 /** Event: A power device was removed */
78 string deviceId; ///< ID of the removed power device
79 string deviceName; ///< Name of the removed power device
80 };
81
82 /** Event: Manager settings changed */
83 valueobject SettingsChangedEvent extends event.UserEvent {
84 Settings oldSettings; ///< Settings before change
85 Settings newSettings; ///< Settings after change
86 };
87 };
88}
89
90#endif //__RADM_POWER_DEVICE_MANAGER_IDL__
map< string, PowerDevice > getPowerDevices()
Get configured power devices.
Settings getSettings()
Get global power device settings.
int deletePowerDevice(in string host)
Remove the given power device (PDU)
int setSettings(in Settings settings)
Set global power device settings.
constant int ERR_INVALID_ARGUMENT
Invalid argument.
constant int ERR_PDU_ALREADY_EXISTS
A PDU with that host name already exists.
constant int ERR_MAX_PDUS_REACHED
Maximum number of pdus reached.
int addPowerDevice(in PowerDevice::Settings settings)
Add a new power device (PDU)
constant int ERR_PDU_NOT_FOUND
A PDU with that host name does not exist.
Radm Model.
Definition AccessPort.idl:8
PowerDevice device
Newly created power device.
Event: A power device was added or removed.
map< string, PowerDevice > powerDevices
Map of power devices after change.
string deviceName
Name of the removed power device.
string deviceId
ID of the removed power device.
int powerCycleDelay
Delay between turning off and turning on in power cycle (in seconds)