Managed objects make up the management information tree. Each MO, other than “top:Sys” has the following attributes:

  • A parent object
  • A relative name (RN) that uniquely identifies the object among its siblings
  • A distinguished name (DN) that uniquely identifies the object globally

The RN is immutable; it is set once at MO creation time. The DN is the concatenation of relative names along the path from the root to the MO, with RNs separated by “/”

Identifying Objects with their Distinguished Name (DN) and Relative Name (RN)

Identifying Objects with their Distinguished Name (DN) and Relative Name (RN)

Distinguished Name

Every object in the object store will have a DN. The distinguished name enables you to unambiguously identify the target object. The distinguished name has the following format consisting of a series of relative names:

dn = {rn}/{rn}/{rn}/{rn}...

In the following example, the DN provides a fully qualified path for peer-[192.168.0.2] from the top of the object tree to the object. The DN specifies the exact managed object on which the API call is operating.

  <dn =”sys/bgp/inst/dom-default/peer-[192.168.0.2]” />

DN_of_MO is the concatenation of Parent_DN and RN_of_MO

top:Sys is the only MO that has RN ~= DN. RN of top:Sys specified in the model is sys and its DN /sys

In the example above:

  • The RN of aggregate:SystemTable is systemTable. Thus its DN is /sys/systemTable because it does not have a naming property. The RN of aggregate:ControllerTable is controllerTable. The DN of aggregate:ControllerTable MO is /sys/systemTable/controllerTable
  • The RN of aggregate:ControllerEntry is controllerEntry-[id], where id is the naming property of the MO.
  • The DN of aggregate: ControllerEntry MO will become /sys/systemTable/controllerTable/controllerEntry-[id]. Since this MO has a naming property, we can have multiple instances of this MO under its parent MO aggregate:ControllerTable, with each instance being associated with a unique [id] value.
  • The DN /sys/systemTable/controllerTable/controllerEntry-1 refers to one particular instance of controllerEntry class.

Relative Name

The relative name identifies an object within the context of its parent object. The distinguished name is composed of a sequence of relative names. The following distinguished name is composed of the following relative names

Distinguished name

   <dn="sys/bgp/inst/dom-default/peer-[192.168.0.2]"/>

Relative name

'peer-[192.168.0.2]'

Relative name and Distinguished name

Object Name DN Parent DN RN
topSystem 'sys' N/A 'sys'
BGP 'sys/bgp' 'sys' 'bgp'
BGP Instance 'sys/bgp/inst' 'sys/bgp' 'inst'
BGP Domain 'sys/bgp/inst/dom-default' 'sys/bgp/inst' 'dom-default'
BGP Peer 'sys/bgp/inst/dom-default/peer-[192.168.0.2]' 'sys/bgp/inst/dom-default' 'peer-[192.168.0.2]'

The next chapter, which discusses the REST API, provides more information about how to use an object's distinguished name and relative name to form a REST URI.