tchmielewski a96f39fa79
Addition of Cisco 8201-32FH device-type router model (#894)
* initial commit

* corrects 8201-32fh u_height

* changed PM to modules, adjusted MgmtEth name

* adds power module type for Cisco 8201-32FH

* adding something more

* adding some ASR9902 stuff

* some more addings

* adds ASR-9001

* adds ericsson r6672

* Update 8201-32FH.yaml

Removed un-needed definitions
Corrected spacing

* Update 8202-32FH-M.yaml

Removed un-needed defintions
Fixed spacing

* Update A99-RP-F.yaml

Fixed newline

* Update 8201-32FH.yaml

correcting typo in 8201-32FH interface name

* Update ASR-9902.yaml

fixing ASR-9902 model

* fixes inconsistencies

* fixes indentation in asr-9902 yaml model

* adding some ASR9902 stuff

* fixes inconsistencies

* Update ASR-9902.yaml

Fixed indetation

* adding some ASR9902 stuff

* some more addings

* adds ASR-9001

* adds ericsson r6672

* fixes inconsistencies

* fixes indentation in asr-9902 yaml model

* adding some ASR9902 stuff

* fixes inconsistencies

* fixes indentation in ASR-9001_flat model

* fixes indentation in some more models

* yet another yaml format fix

* adds cosmetic changes, formatting, etc.

* Removes *flat* models

* Fixes N540-ACC-SYS model

* Update 8202-32FH-M.yaml

Fixed missing console name

* Update 8201-32FH.yaml

Fix name spacing

* Update N540-ACC-SYS.yaml

Fixed formatting

* Update ASR-9903.yaml

Fixed formatting

* Update ASR-9902.yaml

Fixed formatting

* Update ASR-9001.yaml

Fixed formatting

* Update 8202-32FH-M.yaml

Fixed formatting

* Update 8201-32FH.yaml

Fixed formatting

* restores ASR-9902 model to default values

* Changes module-bays positions

* fixes formatting - new-line issues

* Update A9903-20HG-PEC.yml

Fixed spacing at the end of the file

Co-authored-by: Chmielewski <tomasz.chmielewski1@swisscom.com>
Co-authored-by: Daniel W. Anner <daniel.anner@danstechsupport.com>
2023-01-09 11:52:55 -05:00
2022-08-10 22:29:59 -04:00
2022-09-15 21:08:41 -05:00

NetBox Device Type Library

About this Library

This library is intended to be used for populating device types in NetBox. It contains a set of device type definitions expressed in YAML and arranged by manufacturer. Each file represents a discrete physical device type (e.g. make and model). These definitions can be loaded into NetBox instead of creating new device type definitions manually.

If you would like to contribute to this library, please read through our contributing guide before submitting content.

If you would like to automate the import of these devicetype template files, there is a community based python script that will check for duplicates, allow you to selectively import vendors, etc. available here minitriga/Netbox-Device-Type-Library-Import. Note: This is not related to NetBox in any official way and you will not get support for it here.

Device Type Definitions

Each definition must include at minimum the following fields:

  • manufacturer: The name of the manufacturer which produces this device type.
  • model: The model number of the device type. This must be unique per manufacturer.
  • slug: A URL-friendly representation of the model number. Like the model number, this must be unique per manufacturer.

The following fields may optionally be declared:

  • part_number: An alternative representation of the model number (e.g. a SKU).
  • u_height: The height of the device type in rack units. Increments of 0.5U are supported. (Default: 1)
  • is_full_depth: A boolean which indicates whether the device type consumes both the front and rear rack faces. (Default: true)
  • subdevice_role: Indicates that this is a parent or child device. (Default: None)

For further detail on these attributes and those listed below, please reference the schema definitions.

Component Definitions

Valid component types are listed below. Each type of component must declare a list of the individual component templates to be added.

  • console-ports
  • console-server-ports
  • power-ports
  • power-outlets
  • interfaces
  • rear-ports
  • front-ports
  • module-bays*
  • device-bays
  • inventory-items*

*Supported on NetBox v3.2 or later.

The available fields for each type of component are listed below.

Console Ports

  • name: Name
  • label: Label
  • type: Port type slug (API value)

Console Server Ports

  • name: Name
  • label: Label
  • type: Port type slug (API value)

Power Ports

  • name: Name
  • label: Label
  • type: Port type slug (API value)
  • maximum_draw: The port's maximum power draw, in watts (optional)
  • allocated_draw: The port's allocated power draw, in watts (optional)

Power Outlets

  • name: Name
  • label: Label
  • type: Port type slug (API value)
  • power_port: The name of the power port on the device which powers this outlet (optional)
  • feed_leg: The phase (leg) of power to which this outlet is mapped; A, B, or C (optional)

Interfaces

  • name: Name
  • label: Label
  • type: Interface type slug (API value)
  • mgmt_only: A boolean which indicates whether this interface is used for management purposes only (default: false)

Front Ports

  • name: Name
  • label: Label
  • type: Port type slug (API value)
  • rear_port: The name of the rear port on this device to which the front port maps
  • rear_port_position: The corresponding position on the mapped rear port (default: 1)

Rear Ports

  • name: Name
  • label: Label
  • type: Port type slug (API value)
  • positions: The number of front ports that can map to this rear port (default: 1)

Module Bays

  • name: Name
  • label: Label
  • position: The module bay's position within the parent device

Device Bays

  • name: Name
  • label: Label

Inventory Items

  • name: Name
  • label: Label
  • manufacturer: The name of the manufacturer which produces this item
  • part_id: The part ID assigned by the manufacturer

Data Validation / Commit Quality Checks

There are two ways this repo focuses on keeping quality device-type definitions:

  • Pre-Commit Checks - Optional for helping to identify simple issues before committing. (trailing-whitespace, end-of-file-fixer, check-yaml, yamlfmt, yamllint)
    • Install pre-commit (pip install pre-commit)
    • To install the pre-commit script pre-commit install
    • To run the pre-commit script on changed files pre-commit run
    • To run the pre-commit script on all files pre-commit run --all
    • To uninstall the pre-commit script pre-commit uninstall
    • Learn more about pre-commit
  • GitHub Actions - Automatically run before a PR can be merged. Repeats yamllint & validates against NetBox Device-Type Schema.
Description
A collection of community-sourced DeviceType definitions for import to NetBox
Readme 737 MiB
Languages
Python 100%