Skip to content

Add default_platform to device type schema #4094

Description

@NeverBehave

Summary

NetBox v3.5 added an optional default_platform field to DeviceType (netbox-community/netbox#9653). Currently the devicetype-library schema does not include this field, so any definition using it would fail validation due to additionalProperties: false.

I noticed a few F5 definitions already have it commented out (#default_platform: TSOM), which suggests there's interest but no way to use it today.

Use Case

Device types with a well-known platform (e.g., Arista → EOS, Juniper → Junos, Palo Alto → PAN-OS) would benefit from declaring a default platform so new devices auto-inherit it on creation.

Proposed Schema Change

Would it be acceptable to add an optional default_platform property to schema/devicetype.json?

"default_platform": {
    "type": "string",
    "maxLength": 100,
    "pattern": "^[-a-zA-Z0-9_]+$"
}

The value would be a platform slug (not a display name), matching the slug pattern used by NetBox's Platform model. Unlike manufacturer which has directory names enforcing a naming convention, platforms have no such anchor — using slugs avoids ambiguity (e.g., arista-eos vs "Arista EOS" vs "EOS").

Example

manufacturer: Arista
model: DCS-7280CR3-32P4
slug: dcs-7280cr3-32p4
default_platform: arista-eos
u_height: 1
is_full_depth: true

Notes

  • Optional field — no impact on existing definitions
  • Slug format ensures consistency without needing a directory convention
  • Platforms must exist in the target NetBox instance for import tools to resolve — same constraint as manufacturers

Happy to submit a PR if this approach looks good to the maintainers.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions