moduletype.md 3.6 KB

Module Types

A module type represents a specific make and model of hardware component which is installable within a device's module bay and has its own child components. For example, consider a chassis-based switch or router with a number of field-replaceable line cards. Each line card has its own model number and includes a certain set of components such as interfaces. Each module type may have a manufacturer, model number, and part number assigned to it.

Similar to device types, each module type can have any of the following component templates associated with it:

  • Interfaces
  • Console ports
  • Console server ports
  • Power ports
  • Power Outlets
  • Front pass-through ports
  • Rear pass-through ports

Note that device bays and module bays may not be added to modules.

Automatic Component Renaming

When adding component templates to a module type, placeholders can be used to dynamically incorporate the module bay's position field into component names. Two placeholders are available:

{module} Placeholder

The {module} placeholder references the position of the parent module bay:

  • Single use: Expands to the immediate parent's position only
  • Multiple uses: Each {module} token is replaced level-by-level (the number of tokens must match the nesting depth)

For example, a module type with interface templates named Gi{module}/0/[1-48], when installed in a module bay with position "3", will create interfaces named Gi3/0/[1-48].

{module_path} Placeholder

The {module_path} placeholder expands to the full path from the root device to the current module, with positions joined by /. This is useful for modules that can be installed at any nesting depth without modification.

For example, consider an SFP module type with an interface template named eth{module_path}:

  • Installed directly in slot 2: creates interface eth2
  • Installed in slot 1's nested bay 1: creates interface eth1/1
  • Installed in slot 1's nested bay 2's sub-bay 3: creates interface eth1/2/3

!!! note

`{module_path}` can only be used once per template attribute, and cannot be mixed with `{module}` in the same attribute.

Position Field Resolution

The {module} placeholder can also be used in the position field of module bay templates defined on a module type. This allows nested module bays to build hierarchical position values. For example, a module bay template with position="{module}/1", when its parent module is installed in a bay with position "2", will have its position resolved to "2/1".

Automatic renaming is supported for all modular component types (those listed above).

Fields

Manufacturer

The manufacturer which produces this type of module.

Model

The model number assigned to this module type by its manufacturer. Must be unique to the manufacturer.

Part Number

An alternative part number to uniquely identify the module type.

Weight

The numeric weight of the module, including a unit designation (e.g. 3 kilograms or 1 pound).

Airflow

The direction in which air circulates through the device chassis for cooling.

Profile

The assigned profile for the type of module. Profiles can be used to classify module types by function (e.g. power supply, hard disk, etc.), and they support the addition of user-configurable attributes on module types. The assignment of a module type to a profile is optional.

Attributes

Depending on the module type's assigned profile (if any), one or more user-defined attributes may be available to configure.