* Disable additional properties for components
It is not a global option, it needs to be set per-definition.
Enabling it produces a lot of validation errors.
* Update json schema
Add missing fields and value constraints. The `rf_role` enum is
currently not included in the `generated_schema.json` from upstream,
so I "faked" it for now by added it manually.
* Rework custom power source marker
While you could technically have a device that does PoE and serial
console on the same port, this is just one very specific scenario.
Rename the custom property from `poe` to `_is_power_source` to be more
general and better reflect its intention, and properly document it in
the json schema.
Remove the property from device types where it is false, and where it's
unneeded because power-ports exist.
* Fix power draw
In NetBox the PSU modules have a power draw, but not the module-bays you
can put them into; so remove it from those. Plus some minor corrections.
* Fix PoE
Basically fix the casing by renaming from the wrong kebab-case to the
correct snake_case.
* Turn invalid comments into description
Only device types can have `comments`, everything else is limited to
`description`. So turn all invalid comments into descriptions.
* Fix mgmt_only
Console port in NetBox don't have a `mgmt_only` property, because they
are by definition management-only.
* Fix position(s)
Device bays don't have a position, because the child devices are
completely separate and don't share any naming/numbering.
* Miscellaneous fixes
Everything that didn't fit into the prior larger error categories.
Validation now passes again.
* Update components.json
Added position as a required field for modules
* Added positions to module-bays
* Fixed more devices
---------
Co-authored-by: Daniel W. Anner <daniel.anner@danstechsupport.com>
added U height requirement
* Added U_height
Added U height to all devices that were missing it and removed some drive bays from qnap devices
* Fixed a few issues
* broke component validation out to its own function. Adding logic for validating device power input.
* Added console-port poe true for adapters. Updating devices to add proper power sources.
* Adding switches to allow for tests to properly determine POE status.
* Fixing files with missing power definitions.
* Fix float validation using decimal.Decimal
* Force string repr of the float when loading yaml
---------
Co-authored-by: Jonathan Senecal <jonathan.senecal@metrooptic.com>
* Adding 3 new adapter types. 100base-fx, 100base-lfx, and 100base-t1.
This addition is contingent on [Netbox PR#11377](https://github.com/netbox-community/netbox/pull/11377) being completed first. This will not be merged until that is complete
* Based on the addition of 100base-fx in the upstream netbox repo, this will allow us to correctly identify these ports
* updated 100base-fx interface names