Raritan PX2/PX3 JSON-RPC API
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
cascading::CascadeManager Interface Reference

JSON-RPC Cascade Manager. More...

import"CascadeManager.idl";

Classes

struct  LinkUnit
 Link Unit Status. More...
 
struct  Status
 Full Cascading Status. More...
 

Public Types

enum  Role { STANDALONE, MASTER, LINK_UNIT }
 JSON-RPC Cascade Role. More...
 
enum  LinkUnitStatus {
  UNKNOWN, OK, UNREACHABLE, ACCESS_DENIED,
  FIRMWARE_UPDATE
}
 Link Unit Communication Status. More...
 

Public Member Functions

Status getStatus ()
 Retrieve the full cascading status for this unit. 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 master's control. More...
 
int releaseLinkUnit (in int linkId)
 Release a link unit from this master's control. More...
 
int requestLink (in string token)
 Request to make this unit a link unit and put it under the remote master'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 master's control. 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_MASTER = 2
 Operation not allowed for a master 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.
 
valueobject RoleChangedEvent: idl::Event { Role oldRole
 Event: This unit's role in the cascade has changed. More...
 
Role newRole
 New role after the change.
 
string master
 Master IP address (if new role is link unit)
 
valueobject LinkUnitAddedEvent: event::UserEvent { int linkId
 Event: A new link unit has been added. More...
 
string host
 Host name or IP address.
 
valueobject LinkUnitReleasedEvent: event::UserEvent { int linkId
 Event: A link unit has been released. More...
 
valueobject LinkUnitStatusChangedEvent: idl::Event { int linkId
 Event: A link unit's communication status has changed. More...
 
LinkUnitStatus oldStatus
 Previous communication status.
 
LinkUnitStatus newStatus
 New communication status.
 

Detailed Description

JSON-RPC Cascade Manager.

Member Enumeration Documentation

◆ 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 

Ths link unit is performing a firmware update.

◆ Role

JSON-RPC Cascade Role.

Enumerator
STANDALONE 

Standalone unit, not in cascade.

MASTER 

Master unit controlling other devices.

LINK_UNIT 

link unit under master control

Member Function Documentation

◆ 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 master's control.

The login credentials must have administrator privileges on the link unit. They are only used to establish a trust relationship between master 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
linkIdThe ID for the new link unit
hostThe link unit's host name or IP address
loginThe administrator login for the link unit
passwordThe administrator password for the link unit
newPasswordThe new 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.
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, e.g. because it's a master 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

◆ finalizeLink()

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

Finalize the link with this link unit.

Parameters
tokensame authorization token as used for requestLink()

This method should only be called by the master 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.

◆ getStatus()

Status cascading::CascadeManager::getStatus ( )

Retrieve the full cascading status for this unit.

Returns
Full cascading status

◆ releaseLinkUnit()

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

Release a link unit from this master's control.

Parameters
linkIdThe 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 master's control.

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

Parameters
tokenAuthorization token for future requests
Returns
NO_ERROR The operation was successful
ERR_UNSUPPORTED_ON_MASTER This unit is a master and can't become a link unit
ERR_NOT_SUPPORTED This device does not support PDU linking

◆ unlink()

void cascading::CascadeManager::unlink ( )

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

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

Member Data Documentation

◆ LinkUnitAddedEvent

valueobject cascading::CascadeManager::LinkUnitAddedEvent

Event: A new link unit has been added.

Link ID

◆ LinkUnitReleasedEvent

valueobject cascading::CascadeManager::LinkUnitReleasedEvent

Event: A link unit has been released.

Link ID

◆ LinkUnitStatusChangedEvent

valueobject cascading::CascadeManager::LinkUnitStatusChangedEvent

Event: A link unit's communication status has changed.

Link ID

◆ RoleChangedEvent

valueobject cascading::CascadeManager::RoleChangedEvent

Event: This unit's role in the cascade has changed.

Previous role before the change


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