Cani alpha add module
cani alpha add module
Add module(s) to the inventory.
Synopsis
Add one or more modules to the inventory by slug or part number.
Supports strategy-based placement across multiple devices:
--device '%{FILL}' Fill available bays per device before moving to next
--device hpe-xd670 Target all devices matching this slug
--device
Bays are auto-filtered by the module's hardware type (e.g. gpu modules go into GPU bays). Use --bay-filter to override.
Template variables for --name: %{DEVICE}, %{BAY}, %{SEQ}
cani alpha add module <slug-or-part-number> [flags]
Options
--bay string Module bay name on the parent device
--bay-filter string Filter bays by name substring (overrides auto-filter)
--device string Parent device UUID, name, slug, or strategy (%{FILL})
--dry-run Show placement plan without committing changes
-h, --help help for module
--location string Location filter for device selection (name or UUID)
--name string Module name, expansion pattern, or template (%{DEVICE}, %{BAY}, %{SEQ})
Options inherited from parent commands
-y, --accept Automatically accept recommended values.
-a, --auto Automatically recommend values for parent hardware
--config string config file (default "/home/runner/.cani/cani.yml")
--datastore string datastore type (json, postgres) (default "json")
--datastore-path string override path to the datastore file (for testing)
--debug enable debug mode
-L, --list-supported-types List supported hardware types.
--metadata stringArray Provider metadata key=value pairs (repeatable)
--pad-width int Zero-pad width for sequential names (0 = auto).
-p, --parent string Parent item UUID. (default "00000000-0000-0000-0000-000000000000")
--prefix string Name prefix for sequential naming (used with --qty).
-q, --qty int Quantity of items to add. (default 1)
--serial string Serial number
--start int Starting number for sequential names (used with --prefix). (default 1)
--status string Status (Active, Available, Connected, Decommissioned, Decommissioning, Deprecated, Deprovisioning, Down, End-of-Life, Extended Support, Failed, Inventory, Maintenance, Offline, Planned, Primary, Provisioning, Reserved, Retired, Secondary, Staging, or any custom status)
--strict require a resolved device type (slug) for all devices (default true)
--tag stringArray Tag(s) to apply to the item (repeatable)
--types-dirs strings local directories with additional hardware types
--types-repo-clone clone types repos that are not yet cached locally
--types-repo-pull pull latest changes from types repos on startup
--types-repos strings git repo URLs with additional hardware types
SEE ALSO
- cani alpha add - Add items to the inventory