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)
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.