From a43552b07a2bddccb077f3590abdff5360ee0660 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 11 Dec 2019 14:05:11 -0500 Subject: [PATCH] Update README --- README.md | 44 ++++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index b08bc0634..7d3655ac0 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,13 @@ This library is intended to be used for populating device types in [NetBox](https://github.com/netbox-community/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 to obviate the need to create device types and their associated components manually. +# Guidelines for Defining Device Types + +* Every unique model number requires a discrete definition file, even if the set of components is identical. +* Include only components which are fixed to the chassis. Optional modular components should be omitted from the definition. +* Name components as they appear in the device's operating system (as opposed to the physical chassis label, if different). +* Avoid encapulating YAML values in quotes unless necessary to avoid a syntax error. + # Device Type Definitions Each definition must include at minimum the following fields: @@ -17,39 +24,44 @@ 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. (Default: 1) * `is_full_depth`: A boolean which indicates whether the device type consumes both the front and rear rack faces. (Default: true) -* `comments`: Free-form comments concerning the device type. These must be universally applicable to the specific device type. +* `subdevice_role`: Indicicates that this is a `parent` or `child` device. (Default: None) ## 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` +* `console-ports` +* `console-server-ports` +* `power-ports` +* `power-outlets` * `interfaces` -* `rear_ports` -* `front_ports` +* `rear-ports` +* `front-ports` +* `device-bays` The available fields for each type of component are listed below. ### Console Ports * `name`: Port name +* `type`: Port type ### Console Server Ports * `name`: Port name +* `type`: Port type ### Power Ports * `name`: Port name +* `type`: Port type * `maximum_draw`: The port's maximum power draw, in watts (optional) * `allocated_draw`: The port's allocated power draw, in watts (optional) -### Power Outlers +### Power Outlets * `name`: Outlet name +* `type`: Port type * `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 (optional) @@ -59,12 +71,6 @@ The available fields for each type of component are listed below. * `type`: Inteface type * `mgmt_only`: A boolean which indicates whether this interface is used for management purposes only (default: false) -### Rear Ports - -* `name`: Port name -* `type`: Port type -* `positions`: The number of front ports that can map to this rear port (default: 1) - ### Front Ports * `name`: Port name @@ -72,3 +78,13 @@ The available fields for each type of component are listed below. * `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`: Port name +* `type`: Port type +* `positions`: The number of front ports that can map to this rear port (default: 1) + +### Device Bays + +* `name`: Bay name +