Add ChoiceVar to CustomScript #2945

Closed
opened 2025-12-29 18:23:50 +01:00 by adam · 0 comments
Owner

Originally created by @Grokzen on GitHub (Oct 10, 2019).

Environment

  • Python version: 3.6.x
  • NetBox version: 2.6.6

Proposed Functionality

Add a new Var type for CustomScript where a ChoiceField is exposed to the solution.

Use Case

In some cases we want to expose the user that runs the script to some choices that do not map into some of the basic scalar types (int, bool, string) or any objects in the database. But we want to give the option to choose some arbitrary choice of value that would be used and consumed in the run() section of the script. I basically want to give the user the option to choose from all options that is defined in any _CHOICES vairable from a constant.py file, for example RACK_TYPE_CHOICES.

Solution

It should not need more then this to implement this field into CustomScripts

https://gist.github.com/Grokzen/e64b60a293d7914343ed3fb79bde15ff

Database Changes

None

External Dependencies

None

Originally created by @Grokzen on GitHub (Oct 10, 2019). <!-- NOTE: This form is only for proposing specific new features or enhancements. If you have a general idea or question, please post to our mailing list instead of opening an issue: https://groups.google.com/forum/#!forum/netbox-discuss 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.6.x <!-- Example: 3.5.4 --> * NetBox version: 2.6.6 <!-- Example: 2.3.6 --> <!-- Describe in detail the new functionality you are proposing. Include any specific changes to work flows, data models, or the user interface. --> ### Proposed Functionality Add a new Var type for CustomScript where a ChoiceField is exposed to the solution. <!-- 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 In some cases we want to expose the user that runs the script to some choices that do not map into some of the basic scalar types (int, bool, string) or any objects in the database. But we want to give the option to choose some arbitrary choice of value that would be used and consumed in the `run()` section of the script. I basically want to give the user the option to choose from all options that is defined in any `_CHOICES` vairable from a `constant.py` file, for example `RACK_TYPE_CHOICES`. ### Solution It should not need more then this to implement this field into CustomScripts https://gist.github.com/Grokzen/e64b60a293d7914343ed3fb79bde15ff <!-- 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 None <!-- 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 None
adam added the status: acceptedtype: feature labels 2025-12-29 18:23:50 +01:00
adam closed this issue 2025-12-29 18:23:50 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#2945