Requesting option to clone Interfaces when cloning Device Type #4407

Closed
opened 2025-12-29 18:35:43 +01:00 by adam · 4 comments
Owner

Originally created by @lastwednesday on GitHub (Dec 24, 2020).

Environment

  • Python version: 3.8.3
  • NetBox version: 2.10.2

Proposed Functionality

I would like the ability to include the defined Interfaces for a Device Type when cloning it, so that if I have Device Type X and I clone it to Device Type Y then I wouldn't need to re-create all the Interfaces from scratch on Device Type Y. If I were cloning a Device I could just export the Interfaces for that Device then edit and import them for the new Device, but if there is a way to export/import Interface templates for a Device Type I haven't found it so far. As a workaround I can just export the entire device type to yaml then edit it externally and import it again for the new model, although the export does not include the Label or Description fields from the template so those must be entered again after import.

This could just be a dropdown option on the Clone button so that users could determine if they wanted to clone the Interfaces or not.

Use Case

We have for example about a dozen different models of a vendor's device, which are identical except for things like CPU/Cache and supported firmware levels. I have been cloning them to build each model but even with being able to define Interfaces by pattern it is still pretty tedious to go in and add the identical groups of 47 or so interfaces onto each one after it is cloned.

Database Changes

I don't believe so.

External Dependencies

No external dependencies.

Originally created by @lastwednesday on GitHub (Dec 24, 2020). <!-- NOTE: IF YOUR ISSUE DOES NOT FOLLOW THIS TEMPLATE, IT WILL BE CLOSED. This form is only for proposing specific new features or enhancements. If you have a general idea or question, please start a discussion instead: https://github.com/netbox-community/netbox/discussions NOTE: Due to an excessive backlog of feature requests, we are not currently accepting any proposals which significantly extend NetBox's feature scope. Please describe the environment in which you are running NetBox. Be sure that you are running an unmodified instance of the latest stable release before submitting a bug report. --> ### Environment * Python version: 3.8.3 * NetBox version: 2.10.2 <!-- Describe in detail the new functionality you are proposing. Include any specific changes to work flows, data models, or the user interface. --> ### Proposed Functionality I would like the ability to include the defined Interfaces for a Device Type when cloning it, so that if I have Device Type X and I clone it to Device Type Y then I wouldn't need to re-create all the Interfaces from scratch on Device Type Y. If I were cloning a Device I could just export the Interfaces for that Device then edit and import them for the new Device, but if there is a way to export/import Interface templates for a Device Type I haven't found it so far. As a workaround I can just export the entire device type to yaml then edit it externally and import it again for the new model, although the export does not include the Label or Description fields from the template so those must be entered again after import. This could just be a dropdown option on the Clone button so that users could determine if they wanted to clone the Interfaces or not. <!-- Convey an example use case for your proposed feature. Write from the perspective of a NetBox user who would benefit from the proposed functionality and describe how. ---> ### Use Case We have for example about a dozen different models of a vendor's device, which are identical except for things like CPU/Cache and supported firmware levels. I have been cloning them to build each model but even with being able to define Interfaces by pattern it is still pretty tedious to go in and add the identical groups of 47 or so interfaces onto each one after it is cloned. <!-- Note any changes to the database schema necessary to support the new feature. For example, does the proposal require adding a new model or field? (Not all new features require database changes.) ---> ### Database Changes I don't believe so. <!-- List any new dependencies on external libraries or services that this new feature would introduce. For example, does the proposal require the installation of a new Python package? (Not all new features introduce new dependencies.) --> ### External Dependencies No external dependencies.
adam added the type: featurestatus: needs ownerpending closure labels 2025-12-29 18:35:43 +01:00
adam closed this issue 2025-12-29 18:35:43 +01:00
Author
Owner

@Starkstromkonsument commented on GitHub (Dec 31, 2020):

This would be cool for console ports, power ports and device bays too.

@Starkstromkonsument commented on GitHub (Dec 31, 2020): This would be cool for console ports, power ports and device bays too.
Author
Owner

@jeremystretch commented on GitHub (Jan 5, 2021):

This was proposed in #4065 in never gained traction. IMO the effort required to develop a new workflow/pattern to sustainably implement the feature isn't going to be worth the development effort, particularly given that device types are easily imported from YAML/JSON definitions. But I'll tag it for volunteers.

@jeremystretch commented on GitHub (Jan 5, 2021): This was proposed in #4065 in never gained traction. IMO the effort required to develop a new workflow/pattern to **sustainably** implement the feature isn't going to be worth the development effort, particularly given that device types are easily imported from YAML/JSON definitions. But I'll tag it for volunteers.
Author
Owner

@stale[bot] commented on GitHub (Feb 22, 2021):

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our contributing guide.

@stale[bot] commented on GitHub (Feb 22, 2021): This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our [contributing guide](https://github.com/netbox-community/netbox/blob/develop/CONTRIBUTING.md).
Author
Owner

@stale[bot] commented on GitHub (Mar 19, 2021):

This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.

@stale[bot] commented on GitHub (Mar 19, 2021): This issue has been automatically closed due to lack of activity. In an effort to reduce noise, please do not comment any further. Note that the core maintainers may elect to reopen this issue at a later date if deemed necessary.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#4407