* 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.