Legrand / Raritan / Server Technology Xerus™ JSON-RPC API

Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
cascading::CascadeManager Interface Reference

JSON-RPC Cascade Manager. More...

## Classes
struct | LinkPortStatus
| Status of the Link Port. More...
struct | LinkPortStatusChangedEvent
| Link Port Status changed. More...
struct | LinkUnit
| Link Unit Status. More...
struct | LinkUnitAddedEvent
| Event: A new link unit has been added. More...
struct | LinkUnitReleasedEvent
| Event: A link unit has been released. More...
struct | LinkUnitStatusChangedEvent
| Event: A link unit's communication status has changed. More...
struct | PrimaryUnitSettings
| Settings for primary unit. More...
struct | RoleChangedEvent
| Event: This unit's role in the cascade has changed. More...
struct | Status
| Full Cascading Status. More...

## Public Types
enum | Role { STANDALONE , PRIMARY_UNIT , LINK_UNIT }
| JSON-RPC Cascade Role. More...
enum | LinkUnitType { NETWORK , SECURE_SERIAL }
enum | LinkUnitStatus { UNKNOWN , OK , UNREACHABLE , ACCESS_DENIED , FIRMWARE_UPDATE , FIRMWARE_MISMATCH , PENDING }
| Link Unit Communication Status. More...

## Public Member Functions
PrimaryUnitSettings | getPrimaryUnitSettings ()
| Retrieve settings for the primary unit. More...
int | setPrimaryUnitSettings (in PrimaryUnitSettings primaryUnitSettings)
| Set settings for the primary unit. More...
Status | getStatus ()
| Retrieve the full cascading status for this unit. More...
LinkPortStatus | getLinkPortStatus ()
| Retrieve the current Link Port status. More...
int | addLinkUnit (in int linkId, in string host, in string login, in string password, in string newPassword)
| Put a new link unit under this primary unit's control. More...
int | addLinkUnit2 (in int linkId, in string host, in string login, in string password, in string newPassword, in boolean disableStrongPasswordReq)
| Put a new link unit under this primary unit's control. More...
int | releaseLinkUnit (in int linkId)
| Release a link unit from this primary unit's control. More...
int | requestLink (in string token)
| Request to make this unit a link unit and put it under the remote primary unit's control. More...
void | finalizeLink (in string token)
| Finalize the link with this link unit. More...
void | unlink ()
| Release this link unit from the remote primary unit's control. More...
vector< Role > | getSupportedRoles ()
| Check which cascading roles this unit supports. More...
vector< LinkUnitType > | getSupportedLinkUnitTypes ()
| Check which type of link units this unit supports. More...
int | addCascadeLinkUnit (in int linkId, in int nodeIndex, in string login, in string password, in boolean positionDependent)
| Can be called on a network cascade primary unit to add expansion units of the network cascade as link units. More...
int | addLinkPortLinkUnit ()
| Add a neighbor that was discovered on the link port as link unit. More...
int | addSecureSerialLinkUnit (in int linkId, in string installKey)
| Add a serial link unit (ScalePoint Base). More...

## Public Attributes
constant int | NO_ERROR = 0
| Operation successful, no error.
constant int | ERR_INVALID_PARAM = 1
| A parameter was invalid.
constant int | ERR_UNSUPPORTED_ON_PRIMARY_UNIT = 2
| Operation not allowed for a primary unit.
constant int | ERR_UNSUPPORTED_ON_LINK_UNIT = 3
| Operation not allowed for a link unit.
constant int | ERR_LINK_ID_IN_USE = 4
| The specified link ID is already used.
constant int | ERR_HOST_IN_USE = 5
| The specified host is already in use.
constant int | ERR_LINK_UNIT_UNREACHABLE = 6
| Could not connect to the link device.
constant int | ERR_LINK_UNIT_ACCESS_DENIED = 7
| Login to link device failed.
constant int | ERR_LINK_UNIT_REFUSED = 8
| Remote device refused to become a link unit.
constant int | ERR_UNIT_BUSY = 9
| The unit could not respond because it was busy.
constant int | ERR_NOT_SUPPORTED = 10
| Operation not supported on this device.
constant int | ERR_PASSWORD_CHANGE_REQUIRED = 11
| The unit requires a password change.
constant int | ERR_PASSWORD_POLICY = 12
| The given password did not meet the requirements.
constant int | ERR_LINK_UNIT_COMM_FAILED = 13
| Communication with the link unit failed.
constant int | ERR_LINK_UNIT_NOT_SUPPORTED = 14
| Link unit does not support cascading.
constant int | ERR_FIRMWARE_VERSION_MISMATCH = 15
| The firmware versions between primary and link unit do not match.

## Detailed Description

JSON-RPC Cascade Manager.

## Member Enumeration Documentation

## ◆ LinkUnitStatus

enum cascading::CascadeManager::LinkUnitStatus

Link Unit Communication Status.

Enumerator
UNKNOWN | The status of the link unit is unknown.
OK | The link unit operates normally.
UNREACHABLE | The link unit is unreachable.
ACCESS_DENIED | The link unit denies access.
FIRMWARE_UPDATE | This link unit is performing a firmware update.
FIRMWARE_MISMATCH | This link unit's firmware version does not match that of the primary unit.
PENDING | The link unit becomes active after the next reboot.

## ◆ LinkUnitType

enum cascading::CascadeManager::LinkUnitType

Enumerator
NETWORK | High-level linking via JSON-RPC API.
SECURE_SERIAL | Linking via encrypted serial bus (ScalePoint)

## ◆ Role

enum cascading::CascadeManager::Role

JSON-RPC Cascade Role.

Enumerator
STANDALONE | Standalone unit, not in cascade.
PRIMARY_UNIT | Primary unit controlling other devices.
LINK_UNIT | Link unit under primary unit control.

## Member Function Documentation

## ◆ addCascadeLinkUnit()

int cascading::CascadeManager::addCascadeLinkUnit | ( | in int | linkId,
|  | in int | nodeIndex,
|  | in string | login,
|  | in string | password,
|  | in boolean | positionDependent
| ) |  |

Can be called on a network cascade primary unit to add expansion units of the network cascade as link units.

Parameters

  linkId | The ID for the new link unit
  nodeIndex | The expansion unit's index in the network cascade (1 - 15)
  login | The administrator login for the link unit
  password | The administrator password for the link unit
  positionDependent | If true, host names that depend on the nodex index will be used. If false, unique link-local IPv6 addresses will be used for linking.

Returns
  see addLinkUnit

## ◆ addLinkPortLinkUnit()

int cascading::CascadeManager::addLinkPortLinkUnit | ( |  | ) |

Add a neighbor that was discovered on the link port as link unit.

If a new password needs to be set, it will be generated.

Returns
  NO_ERROR The operation was successful
  ERR_INVALID_PARAM No neighbor currently discovered or no link id left
  ERR_UNSUPPORTED_ON_LINK_UNIT This unit is currently a link unit and can't have link units of its own
  ERR_HOST_IN_USE The link port neighbor was already added
  ERR_LINK_UNIT_UNREACHABLE Connection to the link unit failed
  ERR_LINK_UNIT_ACCESS_DENIED The credentials for the link unit were invalid
  ERR_LINK_UNIT_REFUSED The remote unit refused to become our link unit because it's a primary unit itself
  ERR_UNIT_BUSY This unit is currently busy with handling another request
  ERR_NOT_SUPPORTED This device does not support PDU linking via link port
  ERR_LINK_UNIT_COMM_FAILED Communication with the link unit failed
  ERR_LINK_UNIT_NOT_SUPPORTED Link unit does not support cascading
  ERR_FIRMWARE_VERSION_MISMATCH The firmware version of the link unit does not match that of the primary unit

## ◆ addLinkUnit()

int cascading::CascadeManager::addLinkUnit | ( | in int | linkId,
|  | in string | host,
|  | in string | login,
|  | in string | password,
|  | in string | newPassword
| ) |  |

Put a new link unit under this primary unit's control.

The login credentials must have administrator privileges on the link unit. They are only used to establish a trust relationship between primary and link unit and not stored.

This method can also be used to re-authenticate a link unit that denies access. In that case the linkId and host parameter must exactly match the existing values.

Parameters

  linkId | The ID for the new link unit
  host | The link unit's host name or IP address
  login | The administrator login for the link unit
  password | The administrator password for the link unit
  newPassword | The new default administrator password for the unit. This is needed for adding a link unit that still has default settings and requires a password change. Otherwise it can be left empty. `login` must be the default admin.

Returns
  NO_ERROR The operation was successful
  ERR_INVALID_PARAM One of the parameters had an invalid value
  ERR_UNSUPPORTED_ON_LINK_UNIT This unit is currently a link unit and can't have link units of its own
  ERR_LINK_ID_IN_USE The specified link ID is already in use
  ERR_HOST_IN_USE The specified host is already in use
  ERR_LINK_UNIT_UNREACHABLE Connection to the link unit failed
  ERR_LINK_UNIT_ACCESS_DENIED The credentials for the link unit were invalid
  ERR_LINK_UNIT_REFUSED The remote unit refused to become our link unit because it's a primary unit itself
  ERR_UNIT_BUSY This unit is currently busy with handling another request
  ERR_NOT_SUPPORTED This device does not support PDU linking
  ERR_PASSWORD_CHANGE_REQUIRED The specified link unit requires a password change
  ERR_PASSWORD_POLICY The new password did not meet the requirements
  ERR_LINK_UNIT_COMM_FAILED Communication with the link unit failed
  ERR_LINK_UNIT_NOT_SUPPORTED Link unit does not support cascading
  ERR_FIRMWARE_VERSION_MISMATCH The firmware version of the link unit does not match that of the primary unit

## ◆ addLinkUnit2()

int cascading::CascadeManager::addLinkUnit2 | ( | in int | linkId,
|  | in string | host,
|  | in string | login,
|  | in string | password,
|  | in string | newPassword,
|  | in boolean | disableStrongPasswordReq
| ) |  |

Put a new link unit under this primary unit's control.

The login credentials must have administrator privileges on the link unit. They are only used to establish a trust relationship between primary and link unit and not stored.

This method can also be used to re-authenticate a link unit that denies access. In that case the linkId and host parameter must exactly match the existing values.

Parameters

  linkId | The ID for the new link unit
  host | The link unit's host name or IP address
  login | The administrator login for the link unit
  password | The administrator password for the link unit
  newPassword | The new default administrator password for the unit. This is needed for adding a link unit that still has default settings and requires a password change. Otherwise it can be left empty. `login` must be the default admin.
  disableStrongPasswordReq | if `true`, this disables the strong password requirements on the link unit if `newPassword` is set

Returns
  see addLinkUnit

## ◆ addSecureSerialLinkUnit()

int cascading::CascadeManager::addSecureSerialLinkUnit | ( | in int | linkId,
|  | in string | installKey
| ) |  |

Add a serial link unit (ScalePoint Base).

As a special case, link ID 1 is used to pair the primary unit on the "internal" RS485 bus. It will not be added to the list of link units.

Parameters

  linkId | The ID for the new link unit
  installKey | The install key from the Base unit's label

Returns
  NO_ERROR The operation was successful
  ERR_INVALID_PARAM One of the parameters had an invalid value
  ERR_UNSUPPORTED_ON_LINK_UNIT This unit is currently a link unit and can't have link units of its own
  ERR_LINK_ID_IN_USE The specified link ID is already in use
  ERR_LINK_UNIT_UNREACHABLE Connection to the link unit failed
  ERR_UNIT_BUSY This unit is currently busy with handling another request
  ERR_NOT_SUPPORTED This device does not support PDU linking
  ERR_LINK_UNIT_COMM_FAILED Communication with the link unit failed

## ◆ finalizeLink()

void cascading::CascadeManager::finalizeLink | ( | in string | token | ) |

Finalize the link with this link unit.

Parameters

  token | same authorization token as used for requestLink()

This method should only be called by the primary unit in order to acknowledge the establishment of the link to the link unit and finalize the link build-up. The linking will only take effect once the link unit received this acknowledgement.

If this method fails, you will get the ACCESS_DENIED status for this link unit and you will have to re-authenticate it.

## ◆ getLinkPortStatus()

LinkPortStatus cascading::CascadeManager::getLinkPortStatus | ( |  | ) |

Retrieve the current Link Port status.

Returns
  Current Link Port status

## ◆ getPrimaryUnitSettings()

PrimaryUnitSettings cascading::CascadeManager::getPrimaryUnitSettings | ( |  | ) |

Retrieve settings for the primary unit.

Returns
  Primary unit settings

## ◆ getStatus()

Status cascading::CascadeManager::getStatus | ( |  | ) |

Retrieve the full cascading status for this unit.

Returns
  Full cascading status

## ◆ getSupportedLinkUnitTypes()

vector< LinkUnitType > cascading::CascadeManager::getSupportedLinkUnitTypes | ( |  | ) |

Check which type of link units this unit supports.

Returns
  vector with supported link unit types

## ◆ getSupportedRoles()

vector< Role > cascading::CascadeManager::getSupportedRoles | ( |  | ) |

Check which cascading roles this unit supports.

Returns
  vector with Roles that are supported by this unit

## ◆ releaseLinkUnit()

int cascading::CascadeManager::releaseLinkUnit | ( | in int | linkId | ) |

Release a link unit from this primary unit's control.

Parameters

  linkId | The ID of the link unit

Returns
  NO_ERROR The operation was successful
  ERR_INVALID_PARAM The specified link ID is invalid

## ◆ requestLink()

int cascading::CascadeManager::requestLink | ( | in string | token | ) |

Request to make this unit a link unit and put it under the remote primary unit's control.

This method is usually called by the primary unit when adding a new link unit. The link will only be established once finalizeLink() is successfully called.

Parameters

  token | Authorization token for future requests

Returns
  NO_ERROR The operation was successful
  ERR_UNSUPPORTED_ON_PRIMARY_UNIT This unit is a primary unit and can't become a link unit
  ERR_NOT_SUPPORTED This device does not support PDU linking

## ◆ setPrimaryUnitSettings()

int cascading::CascadeManager::setPrimaryUnitSettings | ( | in PrimaryUnitSettings | primaryUnitSettings | ) |

Set settings for the primary unit.

Parameters

  primaryUnitSettings | Primary unit settings

Returns
  NO_ERROR The operation was successful
  ERR_INVALID_PARAM At least one of the parameters had an invalid value

## ◆ unlink()

void cascading::CascadeManager::unlink | ( |  | ) |

Release this link unit from the remote primary unit's control.

This method is usually called by the primary unit when releasing a link unit. This unit will become a standalone unit.

The documentation for this interface was generated from the following file:

- CascadeManager.idl