|
|
You must use the object definition to determine what operations are legal for a specific object. A readonly object will not honor an ObjectReplace call and will return an error. For example, the storage device OSA is mostly readonly - it can only read information about storage devices, but cannot change their characteristics (aside from formatting a disk). Therefore, the only legal object calls are ObjectGet and ObjectAction. ObjectAction is only legal if the specified action has been defined for that class. It is an extension of the object API which allows for operations which do not fit into any of the predefined operations.
For object calls that work with attributes (ObjectGet, ObjectReplaceWithDefault, ObjectReplace, ObjectAdd, and ObjectRemove), the specific attributes of the object class must be known. Also, ObjectAdd and ObjectRemove work only with attributes that are set-valued; that is, they can contain more than one value. An example of using set-valued attributes follows, in which the set of groups for the user charlesf is changed:
ObjectReplace {sco user} {{{systemId colossus} \ charlesf {{groups {other backup}}}}}