mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
56 lines
1.7 KiB
Markdown
56 lines
1.7 KiB
Markdown
|
# Application Registry
|
||
|
|
||
|
The registry is an in-memory data structure which houses various miscellaneous application-wide parameters, such as installed plugins. It is not exposed to the user and is not intended to be modified by any code outside of NetBox core.
|
||
|
|
||
|
The registry behaves essentially like a Python dictionary, with the notable exception that once a store (key) has been declared, it cannot be deleted or overwritten. The value of a store can, however, me modified; e.g. by appending a value to a list. Store values generally do not change once the application has been initialized.
|
||
|
|
||
|
## Stores
|
||
|
|
||
|
### `model_features`
|
||
|
|
||
|
A dictionary of particular features (e.g. custom fields) mapped to the NetBox models which support them, arranged by app. For example:
|
||
|
|
||
|
```python
|
||
|
{
|
||
|
'custom_fields': {
|
||
|
'circuits': ['provider', 'circuit'],
|
||
|
'dcim': ['site', 'rack', 'devicetype', ...],
|
||
|
...
|
||
|
},
|
||
|
'webhooks': {
|
||
|
...
|
||
|
},
|
||
|
...
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### `plugin_menu_items`
|
||
|
|
||
|
Navigation menu items provided by NetBox plugins. Each plugin is registered as a key with the list of menu items it provides. An example:
|
||
|
|
||
|
```python
|
||
|
{
|
||
|
'Plugin A': (
|
||
|
<MenuItem>, <MenuItem>, <MenuItem>,
|
||
|
),
|
||
|
'Plugin B': (
|
||
|
<MenuItem>, <MenuItem>, <MenuItem>,
|
||
|
),
|
||
|
}
|
||
|
```
|
||
|
|
||
|
### `plugin_template_extensions`
|
||
|
|
||
|
Plugin content that gets embedded into core NetBox templates. The store comprises NetBox models registered as dictionary keys, each pointing to a list of applicable template extension classes that exist. An example:
|
||
|
|
||
|
```python
|
||
|
{
|
||
|
'dcim.site': [
|
||
|
<TemplateExtension>, <TemplateExtension>, <TemplateExtension>,
|
||
|
],
|
||
|
'dcim.rack': [
|
||
|
<TemplateExtension>, <TemplateExtension>,
|
||
|
],
|
||
|
}
|
||
|
```
|