Other objects¶
Plugins can add additional objects to the system. Some of these are:
- Rack - Defines a Rack that can be used to control machines in a rack
- IPMI Scan Result - Defines the results of an IPMI scan
Plugin-Provided Objects¶
DRP's core API defines the primary infrastructure objects (machines, workflows, subnets, etc.), but the platform is also extensible: plugins loaded at runtime can register additional object types that are stored in and managed by DRP alongside the built-in models. These plugin-provided objects are called RawModel objects and are accessible through the standard DRP API and CLI under their plugin-defined type names.
Because RawModel objects are provided by plugins, they are only present when the relevant plugin is loaded and licensed. They follow DRP's standard access control, event, and API patterns but do not support drpcli fieldinfo for auto-generated field tables.
Rack¶
The Rack object is provided by the rack content pack. It models the physical topology of a data center rack, recording which Machine objects occupy which slot positions and which top-of-rack (TOR) switches are connected. Beyond physical inventory, Racks serve as a configuration aggregation point: the MachineProfiles and MachineParams fields define profiles and parameters applied to all machines in the rack, enabling rack-wide settings such as VLAN assignments, DNS servers, or NTP configuration without per-machine configuration. Racks also provide a hardware validation framework that cross-checks installed hardware serial numbers against expected values, supporting automated verification that the right hardware is in each slot. Rack objects are typically populated by CSV import through the rack plugin's import actions.
IPMI Scan Result¶
The IPMI Scan Result object is provided by the ipmi content pack. It tracks the progress and outcome of an IPMI/BMC network discovery scan across a range of IP addresses. When an operator triggers a scan-range plugin action, the plugin creates an IpmiScanResult object and transitions it through created, running, and finished (or canceled) states as it probes each address in the range for BMC interfaces. Newly discovered machines are recorded in the CreatedUuids list. The scan design supports resumable progress tracking and, optionally, synchronous blocking until the scan completes, making it useful as a pipeline step in automated hardware on-boarding workflows.
Third-Party Plugin Objects¶
Beyond the objects provided by RackN-supplied plugins, third-party plugin authors can register their own RawModel types. These objects appear in the DRP API and can be managed with drpcli using the plugin's type name. Consult individual plugin documentation for the object types, fields, and actions each plugin provides.