Objects

Update object placement in a rack or chassis

Place a node or chassis into a rack, place a node into a chassis, move one that is already placed, or remove it from its container. Body uses JSON merge-patch semantics: properties present are applied and properties omitted are left untouched. null clears the value only for containerId, imageFront, imageRear and chassisPlacement; sending null for position, height or orientation is rejected with 400. Setting containerId to null or 0 removes the object from its container.

A node may be placed in a rack or in a chassis; a chassis may only be placed in a rack. When the container is a rack, position and height must leave the object entirely within the rack's unit range. That range is checked only when the document supplies containerId, position or height, so an object whose stored position or height a rack would reject stays patchable, and can always be removed from its container. Placing an object into a rack therefore requires a valid position, either sent in the same document or already stored: an object that has never been placed has position 0 and must be given one, otherwise the request is rejected with 400. Overlapping placements are not rejected: the model has always allowed them and some installations rely on it.

Requires modify access on the object being placed. Modify access on the target container is not required, matching the behaviour of the native client protocol.

The same property group is also accepted as the physicalPlacement property of PATCH /v1/objects/{object-id}. Clients should prefer this sub-resource: a server that predates it answers 404, which is a usable feature check, whereas the top-level patch silently ignores property groups it does not recognise.

patch/v1/objects/{object-id}/physical-placement

Path parameters

object-idinteger required

Request body

containerIdinteger nullable

ID of the rack or chassis holding the object. null or 0 removes it from its current container. A node may be placed in a rack or a chassis; a chassis may only be placed in a rack. A container that is a descendant of the object being placed is rejected with 409, since it would create a loop in the object tree.

positioninteger

Rack unit occupied by the object, counted from 1. Meaningful only when the container is a rack. With top-to-bottom rack numbering this is the object's topmost unit, otherwise its bottommost unit. Must leave the object entirely within the rack.

heightinteger

Object height in rack units.

orientation0 | 1 | 2

Mounting orientation (0 = fill, 1 = front, 2 = rear).

imageFrontstring uuid nullable

Image library GUID used to draw the object's front face. null clears it.

imageRearstring uuid nullable

Image library GUID used to draw the object's rear face. null clears it.

Response

Placement updated; full updated object returned.

aliasstring

Object alias

categoryinteger

Object category ID

class'AccessPoint' | 'AgentPolicyLogParser' | 'Asset' | 'AssetGroup' | 'AssetRoot' | 'BusinessService' | 'BusinessServiceProto' | 'BusinessServiceRoot' | 'Chassis' | 'Cluster' | 'Condition' | 'Container' | 'CoolingZone' | 'Dashboard' | 'DashboardGroup' | 'DashboardRoot' | 'Facility' | 'Generic' | 'Interface' | 'MobileDevice' | 'Network' | 'NetworkMap' | 'NetworkMapGroup' | 'NetworkMapRoot' | 'NetworkService' | 'Node' | 'NodeLink' | 'PowerDomain' | 'Rack' | 'Report' | 'ReportGroup' | 'ReportRoot' | 'Sensor' | 'ServiceCheck' | 'ServiceRoot' | 'Subnet' | 'Template' | 'TemplateGroup' | 'TemplateRoot' | 'VPNConnector' | 'Zone'
guidstring uuid

Object GUID

idinteger

Object ID

namestring

Object name

timestampstring date-time

Object last change timestamp

status0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8

Changes