aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Knoblich <kai@FreeBSD.org>2022-06-16 16:03:50 +0000
committerKai Knoblich <kai@FreeBSD.org>2022-06-16 16:28:34 +0000
commitd96a960530f3c20a9edd7837583ff7bec092566f (patch)
treef11b8909b72d818df87186cdae407641a0db7d41
parent3ee9b1859f6b326dd9034e3da1dd3b2d478314de (diff)
downloadports-d96a960530f3c20a9edd7837583ff7bec092566f.tar.gz
ports-d96a960530f3c20a9edd7837583ff7bec092566f.zip
net-mgmt/netbox: Update to 3.2.4
* Prune obsolete update instructions/notes for NetBox releases older than 2.9. * Remove the DOCS option as the embedded documentation for NetBox now needs to be built locally because the necessary procedure requires a running instance of NetBox. Changelog since 3.1.11: It contains many bugfixes/enhancements and the following new features: * Plugins Framework Extensions * Modules & Module Types * Custom Object Fields * Custom Status Choices * Improved User Preferences * Inventory Item Roles * Inventory Item Templates * Service Templates * Automatic Provisioning of Next Available VLANs https://netbox.readthedocs.io/en/stable/release-notes/version-3.2/ MFH: No (feature release)
-rw-r--r--net-mgmt/netbox/Makefile80
-rw-r--r--net-mgmt/netbox/distinfo6
-rw-r--r--net-mgmt/netbox/files/patch-mkdocs.yml17
-rw-r--r--net-mgmt/netbox/files/pkg-message.in188
-rw-r--r--net-mgmt/netbox/pkg-plist709
5 files changed, 448 insertions, 552 deletions
diff --git a/net-mgmt/netbox/Makefile b/net-mgmt/netbox/Makefile
index b0e513535b8c..8a2d45c33a81 100644
--- a/net-mgmt/netbox/Makefile
+++ b/net-mgmt/netbox/Makefile
@@ -1,6 +1,6 @@
PORTNAME= netbox
DISTVERSIONPREFIX= v
-DISTVERSION= 3.1.11
+DISTVERSION= 3.2.4
CATEGORIES= net-mgmt python
MAINTAINER= kai@FreeBSD.org
@@ -17,55 +17,55 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
# Django packages that are known for regressions in conjunction with NetBox and
# should therefore only be updated with caution.
#
-# - devel/py-dj32-django-rq
-# - www/py-dj32-django-filter
-# - www/py-dj32-django-tables2
-# - www/py-dj32-djangorestframework (in conjunction with www/py-dj32-drf-yasg)
+# - devel/py-dj40-django-rq
+# - www/py-dj40-django-filter
+# - www/py-dj40-django-tables2
+# - www/py-dj40-djangorestframework (in conjunction with www/py-dj40-drf-yasg)
#
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}markdown-include>=0.6.0<1:textproc/py-markdown-include@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}mkdocs-material>=8.2.7<9:textproc/py-mkdocs-material@${PY_FLAVOR}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django32>=3.2.11<3.3:www/py-django32@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-django-cors-headers>=3.11.0<4:www/py-dj32-django-cors-headers@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-django-debug-toolbar>=3.2.4<4:www/py-dj32-django-debug-toolbar@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-django-filter>=21.1<22:www/py-dj32-django-filter@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-django-graphiql-debug-toolbar>=0.2.0<1:www/py-dj32-django-graphiql-debug-toolbar@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-django-mptt>=0.13.4<0.14:www/py-dj32-django-mptt@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-django-prometheus>=2.1.0<2.3:www/py-dj32-django-prometheus@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-django-redis>=5.2.0<6:www/py-dj32-django-redis@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-django-rq>=2.5.1<2.6:devel/py-dj32-django-rq@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-django-tables2>=2.4.1<2.5:www/py-dj32-django-tables2@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-django-taggit>=2.1.0<3:www/py-dj32-django-taggit@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-django-timezone-field>=5.0<6:www/py-dj32-django-timezone-field@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-djangorestframework>=3.12.4<3.13.0:www/py-dj32-djangorestframework@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-drf-yasg>=1.20.0<1.21:www/py-dj32-drf-yasg@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj32-graphene-django>=2.15.0<3:devel/py-dj32-graphene-django@${PY_FLAVOR} \
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django40>=4.0.4<4.1:www/py-django40@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-django-cors-headers>=3.12.0<4:www/py-dj40-django-cors-headers@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-django-debug-toolbar>=3.2.4<4:www/py-dj40-django-debug-toolbar@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-django-filter>=21.1<22:www/py-dj40-django-filter@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-django-graphiql-debug-toolbar>=0.2.0<1:www/py-dj40-django-graphiql-debug-toolbar@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-django-mptt>=0.13.4<0.14:www/py-dj40-django-mptt@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-django-prometheus>=2.2.0<2.3:www/py-dj40-django-prometheus@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-django-redis>=5.2.0<6:www/py-dj40-django-redis@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-django-rq>=2.5.1<2.6:devel/py-dj40-django-rq@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-django-tables2>=2.4.1<2.5:www/py-dj40-django-tables2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-django-taggit>=2.1.0<3:www/py-dj40-django-taggit@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-django-timezone-field>=5.0<6:www/py-dj40-django-timezone-field@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-djangorestframework>=3.13.1<3.14.0:www/py-dj40-djangorestframework@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-drf-yasg>=1.20.0<1.21:www/py-dj40-drf-yasg@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj40-graphene-django>=2.15.0<3:devel/py-dj40-graphene-django@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django-pglocks>=1.0.4<1.1:www/py-django-pglocks@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Jinja2>=3.0.1<4:devel/py-Jinja2@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.6<3.5:textproc/py-markdown@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7<3.5:textproc/py-markdown@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}markdown-include>=0.6.0<1:textproc/py-markdown-include@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mkdocs-material>=8.2.11<9:textproc/py-mkdocs-material@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mkdocstrings>=0.17.0<1:textproc/py-mkdocstrings@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}netaddr>=0.8.0<1:net/py-netaddr@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pillow>=8.2.0:graphics/py-pillow@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}psycopg2>=2.9.2<3:databases/py-psycopg2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pillow>=9.1.1:graphics/py-pillow@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}psycopg2>=2.9.3<3:databases/py-psycopg2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sentry-sdk>=1.5.12<2:devel/py-sentry-sdk@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}social-auth-app-django>=5.0.0<6:www/py-social-auth-app-django@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.1.0<5:security/py-social-auth-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.2.0<5:security/py-social-auth-core@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}svgwrite>=1.4.2<2:graphics/py-svgwrite@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}tablib>=3.2.0<4:textproc/py-tablib@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}tzdata>=2021.5:devel/py-tzdata@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tablib>=3.2.1<4:textproc/py-tablib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tzdata>=2022.1:devel/py-tzdata@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}yaml>=5.4.1<7:devel/py-yaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}gunicorn>=20.1.0<21:www/py-gunicorn@${PY_FLAVOR}
-USES= cpe pgsql:10+ python:3.7+
+USES= cpe pgsql:10+ python:3.8+
CPE_VENDOR= netbox_project
USE_GITHUB= yes
GH_ACCOUNT= netbox-community
SUB_FILES= 850.netbox-housekeeping.sample netbox_rq.sample netboxrc.sample pkg-message
SUB_LIST= DATADIR=${DATADIR} PYTHON_CMD=${PYTHON_CMD} PYTHON_VER=${PYTHON_VER} WWWOWN=${WWWOWN}
+NO_BUILD= yes
NO_ARCH= yes
-OPTIONS_DEFINE= DOCS EXAMPLES
-
-do-build:
- cd ${WRKSRC} && ${PYTHON_CMD} -m mkdocs build
+OPTIONS_DEFINE= EXAMPLES
do-install:
cd ${WRKSRC}/netbox ; \
@@ -77,18 +77,8 @@ do-install:
${INSTALL_DATA} "$$src" "$$dst" ; \
fi \
done
-
-post-install-DOCS-on:
- cd ${WRKSRC}/docs ; \
- ${MKDIR} ${STAGEDIR}${DOCSDIR} ; \
- for src in $$( ${FIND} . ! -name '*.bak' ) ; do \
- dst=${STAGEDIR}${DOCSDIR}$${src#.} ; \
- if ${TEST} -d "$$src" ; then \
- ${MKDIR} "$$dst" ; \
- else \
- ${INSTALL_DATA} "$$src" "$$dst" ; \
- fi \
- done
+ cd ${WRKSRC} && ${COPYTREE_SHARE} docs ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/mkdocs.yml ${STAGEDIR}${DATADIR}
post-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
diff --git a/net-mgmt/netbox/distinfo b/net-mgmt/netbox/distinfo
index 0374696db26f..df9d4b1fad14 100644
--- a/net-mgmt/netbox/distinfo
+++ b/net-mgmt/netbox/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1649185847
-SHA256 (netbox-community-netbox-v3.1.11_GH0.tar.gz) = d7f6f4ad5b1305aabbc9bee133455e913be3765972b35ed030d689d73ba7daa7
-SIZE (netbox-community-netbox-v3.1.11_GH0.tar.gz) = 4408997
+TIMESTAMP = 1654793742
+SHA256 (netbox-community-netbox-v3.2.4_GH0.tar.gz) = 6eaf5b63812f2055c6a1d11a4465086e11a8968eec0b3c055e4abbb8512f6550
+SIZE (netbox-community-netbox-v3.2.4_GH0.tar.gz) = 4828917
diff --git a/net-mgmt/netbox/files/patch-mkdocs.yml b/net-mgmt/netbox/files/patch-mkdocs.yml
new file mode 100644
index 000000000000..af37b9b07ff0
--- /dev/null
+++ b/net-mgmt/netbox/files/patch-mkdocs.yml
@@ -0,0 +1,17 @@
+--- mkdocs.yml.orig 2022-04-28 19:00:11 UTC
++++ mkdocs.yml
+@@ -1,5 +1,5 @@ site_name: NetBox Documentation
+ site_name: NetBox Documentation
+-site_dir: netbox/project-static/docs
++site_dir: project-static/docs
+ site_url: https://docs.netbox.dev/
+ repo_name: netbox-community/netbox
+ repo_url: https://github.com/netbox-community/netbox
+@@ -26,7 +26,6 @@ plugins:
+ setup_commands:
+ - import os
+ - import django
+- - os.chdir('netbox/')
+ - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "netbox.settings")
+ - django.setup()
+ rendering:
diff --git a/net-mgmt/netbox/files/pkg-message.in b/net-mgmt/netbox/files/pkg-message.in
index 6d9bbced27ec..dd29a7a50431 100644
--- a/net-mgmt/netbox/files/pkg-message.in
+++ b/net-mgmt/netbox/files/pkg-message.in
@@ -17,12 +17,14 @@ database migrations will be executed.
The following steps are required to finish the upgrade:
-1. Run database migrations, trace any missing cable paths, collect static
- files, remove stale content files and delete any expired user sessions
+1. Run database migrations, trace any missing cable paths, build the embedded
+ documentation, collect static files, remove stale content files and delete
+ any expired user sessions
# cd %%DATADIR%%
# python%%PYTHON_VER%% manage.py migrate
# python%%PYTHON_VER%% manage.py trace_paths --no-input
+# mkdocs build
# python%%PYTHON_VER%% manage.py collectstatic --no-input
# python%%PYTHON_VER%% manage.py remove_stale_contenttypes --no-input
# python%%PYTHON_VER%% manage.py clearsessions
@@ -31,114 +33,6 @@ The following steps are required to finish the upgrade:
EOD
}
{ type: upgrade
- maximum_version: 2.7.7
- message: <<EOD
-1. Removal of the Topology Maps feature
-
-The deprecated topology maps feature has been removed. Please replicate any
-required data to another source before upgrading NetBox to v2.7.7, as any
-existing topology maps will be deleted.
-
-
-2. Changed REDIS database configuration settings
-
-The REDIS database configuration parameters were splitted up in two discrete
-subsections named "webhooks" and "caching". This requires modification of the
-REDIS parameter in configuration.py as follows:
-
-Old Redis sample configuration:
-
-REDIS = {
- 'HOST': 'localhost',
- 'PORT': 6379,
- 'PASSWORD': '',
- 'DATABASE': 0,
- 'CACHE_DATABASE': 1,
- 'DEFAULT_TIMEOUT': 300,
- 'SSL': False,
-}
-
-New Redis sample configuration:
-
-REDIS = {
- 'webhooks': {
- 'HOST': 'redis.example.com',
- 'PORT': 1234,
- 'PASSWORD': 'foobar',
- 'DATABASE': 0,
- 'DEFAULT_TIMEOUT': 300,
- 'SSL': False,
- },
- 'caching': {
- 'HOST': 'localhost',
- 'PORT': 6379,
- 'PASSWORD': '',
- 'DATABASE': 1,
- 'DEFAULT_TIMEOUT': 300,
- 'SSL': False,
- }
-}
-
-Note that the CACHE_DATABASE parameter has been removed and the connection
-settings have been duplicated for both "webhooks" and "caching". This allows
-one to make use of separate Redis instances if desired. It is fine to use the
-same Redis service for both functions, although the database identifiers should
-be different.
-
-
-3. Removal of the WEBHOOKS_ENABLED configuration parameter
-
-As django-rq is now a required library, NetBox assumes that the RQ worker
-process is running and the WEBHOOKS_ENABLED configuration parameter is no
-longer used. Please ensure that both the NetBox WSGI service and the RQ worker
-process are running on all production installations.
-
-
-4. Fixed natural orderding of interfaces
-
-The 2.7.7 release contains a bug fix regarding the natural ordering of
-interfaces. If any interfaces appear unordered, run the following management
-command to recalculate their naturalized values after the usual upgrading steps
-(database migrations, collect static files, etc.) were issued:
-
-# cd %%DATADIR%%
-# python%%PYTHON_VER%% manage.py renaturalize dcim.Interface
-
-EOD
-}
-{ type: upgrade
- maximum_version: 2.7.9
- message: <<EOD
-Please note that two additional steps (remove stale content & clear cached
-files) are now required after each update of NetBox.
-
-These were added to the existing update instructions which are displayed with
-each update.
-EOD
-}
-{ type: upgrade
- maximum_version: 2.7.10
- message: <<EOD
-Please note that another additional step (delete expired user sessions) is now
-required after each update of NetBox.
-
-That step was added to the existing update instructions which are displayed
-with each update.
-EOD
-}
-{ type: upgrade
- maximum_version: 2.7.11
- message: <<EOD
-The "webhooks" REDIS configuration section has been renamed to "tasks". Please
-update your configuration as support for the old name will be removed in a
-future release.
-
-Also the sample rc script got some new default values and improvements, e.g.
-the possibility to add extra arguments or to use a configuration file instead
-of using rc variables.
-EOD
-}
-{ type: upgrade
maximum_version: 2.9.8
message: <<EOD
Changes related to the NetBox configuration:
@@ -353,4 +247,78 @@ EOD
changelogs for further details.
EOD
}
+{ type: upgrade
+ maximum_version: 3.2.4
+ message: <<EOD
+/!\ WARNING /!\
+
+The NetBox 3.2 release contains major changes, so at least items 1.), 2.) and
+3.) must be checked before proceeding with the upgrade!
+
+/!\ WARNING /!\
+
+1. This release includes a database migration that will remove the "asn",
+ "contact_name", "contact_phone", and "contact_email" fields from the site
+ model. (These fields have been superseded by the ASN and contact models
+ introduced in NetBox v3.1.)
+
+ To protect against the accidental destruction of data, the upgrade process
+ will fail if any sites still have data in any of these fields. To bypass
+ this safeguard, set the NETBOX_DELETE_LEGACY_DATA environment variable when
+ running the upgrade script, which will permit the destruction of legacy
+ data.
+
+ A set of migration scripts is available to assist with the migration of
+ legacy site data:
+
+ https://github.com/netbox-community/migration-scripts
+
+
+2. NetBox v3.2 requires Python 3.8 or later.
+
+
+3. If the NetBox Plugin "net-mgmt/py-netbox-plugin-extension" is used, please
+ disable it before the migrations are applied. This can be done by removing
+ the entry "netbox_plugin_extensions" from the "PLUGINS" section in the
+ NetBox configuration.
+
+ Once the upgrade is done, this port/package can be safely removed as it's no
+ longer required.
+
+
+4. Following items should be checked as well:
+
+ * The embedded documentation now needs to be built locally as the procedure
+ requires a running instance of NetBox:
+
+ # cd %%DATADIR%%
+ # mkdocs build
+
+ Please also refer to the general updating instructions as this needs to
+ be done with every future update of NetBox.
+
+ * Automatic redirection of legacy slug-based URL paths has been removed.
+ URL-based slugs were changed to use numeric IDs in v2.11.0.
+
+ * The "asn" query filter for sites now matches against the AS number of
+ assigned ASN objects.
+
+ * The "created" field of all change-logged models now conveys a full
+ datetime object, rather than only a date. (Previous date-only values
+ will receive a timestamp of 00:00.) While this change is largely
+ unconcerning, strictly-typed API consumers may need to be updated.
+
+ * A "pre_run()" method has been added to the base Report class. Although
+ unlikely to affect most installations, you may need to alter any reports
+ which already use this name for a method.
+
+ * Webhook URLs now support Jinja2 templating. Although this is unlikely to
+ introduce any issues, it's possible that an unusual URL might trigger a
+ Jinja2 rendering error, in which case the URL would need to be properly
+ escaped.
+
+ * Several changes to the REST API were made as well. Please check the
+ changelogs for further details.
+EOD
+}
]
diff --git a/net-mgmt/netbox/pkg-plist b/net-mgmt/netbox/pkg-plist
index 359820288e39..223a930334e4 100644
--- a/net-mgmt/netbox/pkg-plist
+++ b/net-mgmt/netbox/pkg-plist
@@ -1,168 +1,3 @@
-%%PORTDOCS%%%%DOCSDIR%%/additional-features/change-logging.md
-%%PORTDOCS%%%%DOCSDIR%%/additional-features/journaling.md
-%%PORTDOCS%%%%DOCSDIR%%/additional-features/napalm.md
-%%PORTDOCS%%%%DOCSDIR%%/additional-features/prometheus-metrics.md
-%%PORTDOCS%%%%DOCSDIR%%/additional-features/webhooks.md
-%%PORTDOCS%%%%DOCSDIR%%/administration/authentication.md
-%%PORTDOCS%%%%DOCSDIR%%/administration/housekeeping.md
-%%PORTDOCS%%%%DOCSDIR%%/administration/netbox-shell.md
-%%PORTDOCS%%%%DOCSDIR%%/administration/permissions.md
-%%PORTDOCS%%%%DOCSDIR%%/administration/replicating-netbox.md
-%%PORTDOCS%%%%DOCSDIR%%/configuration/dynamic-settings.md
-%%PORTDOCS%%%%DOCSDIR%%/configuration/index.md
-%%PORTDOCS%%%%DOCSDIR%%/configuration/optional-settings.md
-%%PORTDOCS%%%%DOCSDIR%%/configuration/remote-authentication.md
-%%PORTDOCS%%%%DOCSDIR%%/configuration/required-settings.md
-%%PORTDOCS%%%%DOCSDIR%%/core-functionality/circuits.md
-%%PORTDOCS%%%%DOCSDIR%%/core-functionality/contacts.md
-%%PORTDOCS%%%%DOCSDIR%%/core-functionality/device-types.md
-%%PORTDOCS%%%%DOCSDIR%%/core-functionality/devices.md
-%%PORTDOCS%%%%DOCSDIR%%/core-functionality/ipam.md
-%%PORTDOCS%%%%DOCSDIR%%/core-functionality/power.md
-%%PORTDOCS%%%%DOCSDIR%%/core-functionality/services.md
-%%PORTDOCS%%%%DOCSDIR%%/core-functionality/sites-and-racks.md
-%%PORTDOCS%%%%DOCSDIR%%/core-functionality/tenancy.md
-%%PORTDOCS%%%%DOCSDIR%%/core-functionality/virtualization.md
-%%PORTDOCS%%%%DOCSDIR%%/core-functionality/vlans.md
-%%PORTDOCS%%%%DOCSDIR%%/core-functionality/wireless.md
-%%PORTDOCS%%%%DOCSDIR%%/customization/custom-fields.md
-%%PORTDOCS%%%%DOCSDIR%%/customization/custom-scripts.md
-%%PORTDOCS%%%%DOCSDIR%%/customization/custom-validation.md
-%%PORTDOCS%%%%DOCSDIR%%/customization/export-templates.md
-%%PORTDOCS%%%%DOCSDIR%%/customization/reports.md
-%%PORTDOCS%%%%DOCSDIR%%/development/adding-models.md
-%%PORTDOCS%%%%DOCSDIR%%/development/application-registry.md
-%%PORTDOCS%%%%DOCSDIR%%/development/extending-models.md
-%%PORTDOCS%%%%DOCSDIR%%/development/getting-started.md
-%%PORTDOCS%%%%DOCSDIR%%/development/index.md
-%%PORTDOCS%%%%DOCSDIR%%/development/models.md
-%%PORTDOCS%%%%DOCSDIR%%/development/release-checklist.md
-%%PORTDOCS%%%%DOCSDIR%%/development/signals.md
-%%PORTDOCS%%%%DOCSDIR%%/development/style-guide.md
-%%PORTDOCS%%%%DOCSDIR%%/development/user-preferences.md
-%%PORTDOCS%%%%DOCSDIR%%/development/web-ui.md
-%%PORTDOCS%%%%DOCSDIR%%/extra.css
-%%PORTDOCS%%%%DOCSDIR%%/graphql-api/overview.md
-%%PORTDOCS%%%%DOCSDIR%%/index.md
-%%PORTDOCS%%%%DOCSDIR%%/installation/1-postgresql.md
-%%PORTDOCS%%%%DOCSDIR%%/installation/2-redis.md
-%%PORTDOCS%%%%DOCSDIR%%/installation/3-netbox.md
-%%PORTDOCS%%%%DOCSDIR%%/installation/4-gunicorn.md
-%%PORTDOCS%%%%DOCSDIR%%/installation/5-http-server.md
-%%PORTDOCS%%%%DOCSDIR%%/installation/6-ldap.md
-%%PORTDOCS%%%%DOCSDIR%%/installation/index.md
-%%PORTDOCS%%%%DOCSDIR%%/installation/migrating-to-systemd.md
-%%PORTDOCS%%%%DOCSDIR%%/installation/upgrading.md
-%%PORTDOCS%%%%DOCSDIR%%/media/admin_ui_run_permission.png
-%%PORTDOCS%%%%DOCSDIR%%/media/installation/netbox_application_stack.png
-%%PORTDOCS%%%%DOCSDIR%%/media/models/dcim_cable_trace.png
-%%PORTDOCS%%%%DOCSDIR%%/media/plugins/plugin_admin_ui.png
-%%PORTDOCS%%%%DOCSDIR%%/media/plugins/plugin_rest_api_endpoint.png
-%%PORTDOCS%%%%DOCSDIR%%/media/power_distribution.png
-%%PORTDOCS%%%%DOCSDIR%%/media/release-notes/netbox30_ui.png
-%%PORTDOCS%%%%DOCSDIR%%/media/screenshots/cable-trace.png
-%%PORTDOCS%%%%DOCSDIR%%/media/screenshots/home-dark.png
-%%PORTDOCS%%%%DOCSDIR%%/media/screenshots/home-light.png
-%%PORTDOCS%%%%DOCSDIR%%/media/screenshots/prefixes-list.png
-%%PORTDOCS%%%%DOCSDIR%%/media/screenshots/rack.png
-%%PORTDOCS%%%%DOCSDIR%%/models/circuits/circuit.md
-%%PORTDOCS%%%%DOCSDIR%%/models/circuits/circuittermination.md
-%%PORTDOCS%%%%DOCSDIR%%/models/circuits/circuittype.md
-%%PORTDOCS%%%%DOCSDIR%%/models/circuits/provider.md
-%%PORTDOCS%%%%DOCSDIR%%/models/circuits/providernetwork.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/cable.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/consoleport.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/consoleporttemplate.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/consoleserverport.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/consoleserverporttemplate.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/device.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/devicebay.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/devicebaytemplate.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/devicerole.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/devicetype.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/frontport.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/frontporttemplate.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/interface.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/interfacetemplate.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/inventoryitem.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/location.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/manufacturer.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/platform.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/powerfeed.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/poweroutlet.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/poweroutlettemplate.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/powerpanel.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/powerport.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/powerporttemplate.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/rack.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/rackreservation.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/rackrole.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/rearport.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/rearporttemplate.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/region.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/site.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/sitegroup.md
-%%PORTDOCS%%%%DOCSDIR%%/models/dcim/virtualchassis.md
-%%PORTDOCS%%%%DOCSDIR%%/models/extras/configcontext.md
-%%PORTDOCS%%%%DOCSDIR%%/models/extras/customfield.md
-%%PORTDOCS%%%%DOCSDIR%%/models/extras/customlink.md
-%%PORTDOCS%%%%DOCSDIR%%/models/extras/exporttemplate.md
-%%PORTDOCS%%%%DOCSDIR%%/models/extras/imageattachment.md
-%%PORTDOCS%%%%DOCSDIR%%/models/extras/tag.md
-%%PORTDOCS%%%%DOCSDIR%%/models/extras/webhook.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/aggregate.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/asn.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/fhrpgroup.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/fhrpgroupassignment.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/ipaddress.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/iprange.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/prefix.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/rir.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/role.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/routetarget.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/service.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/vlan.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/vlangroup.md
-%%PORTDOCS%%%%DOCSDIR%%/models/ipam/vrf.md
-%%PORTDOCS%%%%DOCSDIR%%/models/tenancy/contact.md
-%%PORTDOCS%%%%DOCSDIR%%/models/tenancy/contactgroup.md
-%%PORTDOCS%%%%DOCSDIR%%/models/tenancy/contactrole.md
-%%PORTDOCS%%%%DOCSDIR%%/models/tenancy/tenant.md
-%%PORTDOCS%%%%DOCSDIR%%/models/tenancy/tenantgroup.md
-%%PORTDOCS%%%%DOCSDIR%%/models/users/objectpermission.md
-%%PORTDOCS%%%%DOCSDIR%%/models/users/token.md
-%%PORTDOCS%%%%DOCSDIR%%/models/virtualization/cluster.md
-%%PORTDOCS%%%%DOCSDIR%%/models/virtualization/clustergroup.md
-%%PORTDOCS%%%%DOCSDIR%%/models/virtualization/clustertype.md
-%%PORTDOCS%%%%DOCSDIR%%/models/virtualization/virtualmachine.md
-%%PORTDOCS%%%%DOCSDIR%%/models/virtualization/vminterface.md
-%%PORTDOCS%%%%DOCSDIR%%/models/wireless/wirelesslan.md
-%%PORTDOCS%%%%DOCSDIR%%/models/wireless/wirelesslangroup.md
-%%PORTDOCS%%%%DOCSDIR%%/models/wireless/wirelesslink.md
-%%PORTDOCS%%%%DOCSDIR%%/netbox_logo.png
-%%PORTDOCS%%%%DOCSDIR%%/netbox_logo.svg
-%%PORTDOCS%%%%DOCSDIR%%/plugins/development.md
-%%PORTDOCS%%%%DOCSDIR%%/plugins/index.md
-%%PORTDOCS%%%%DOCSDIR%%/reference/conditions.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/index.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-2.0.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-2.1.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-2.10.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-2.11.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-2.2.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-2.3.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-2.4.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-2.5.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-2.6.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-2.7.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-2.8.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-2.9.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-3.0.md
-%%PORTDOCS%%%%DOCSDIR%%/release-notes/version-3.1.md
-%%PORTDOCS%%%%DOCSDIR%%/requirements.txt
-%%PORTDOCS%%%%DOCSDIR%%/rest-api/authentication.md
-%%PORTDOCS%%%%DOCSDIR%%/rest-api/filtering.md
-%%PORTDOCS%%%%DOCSDIR%%/rest-api/overview.md
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/850.netbox-housekeeping.sample
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/apache.conf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/gunicorn.py
@@ -190,12 +25,19 @@
%%DATADIR%%/circuits/migrations/0002_squashed_0029.py
%%DATADIR%%/circuits/migrations/0003_extend_tag_support.py
%%DATADIR%%/circuits/migrations/0004_rename_cable_peer.py
+%%DATADIR%%/circuits/migrations/0032_provider_service_id.py
+%%DATADIR%%/circuits/migrations/0033_standardize_id_fields.py
+%%DATADIR%%/circuits/migrations/0034_created_datetimefield.py
+%%DATADIR%%/circuits/migrations/0035_provider_asns.py
%%DATADIR%%/circuits/migrations/__init__.py
%%DATADIR%%/circuits/models/__init__.py
%%DATADIR%%/circuits/models/circuits.py
%%DATADIR%%/circuits/models/providers.py
%%DATADIR%%/circuits/signals.py
-%%DATADIR%%/circuits/tables.py
+%%DATADIR%%/circuits/tables/__init__.py
+%%DATADIR%%/circuits/tables/circuits.py
+%%DATADIR%%/circuits/tables/columns.py
+%%DATADIR%%/circuits/tables/providers.py
%%DATADIR%%/circuits/tests/__init__.py
%%DATADIR%%/circuits/tests/test_api.py
%%DATADIR%%/circuits/tests/test_filtersets.py
@@ -249,6 +91,15 @@
%%DATADIR%%/dcim/migrations/0142_rename_128gfc_qsfp28.py
%%DATADIR%%/dcim/migrations/0143_remove_primary_for_related_name.py
%%DATADIR%%/dcim/migrations/0144_fix_cable_abs_length.py
+%%DATADIR%%/dcim/migrations/0145_site_remove_deprecated_fields.py
+%%DATADIR%%/dcim/migrations/0146_modules.py
+%%DATADIR%%/dcim/migrations/0147_inventoryitemrole.py
+%%DATADIR%%/dcim/migrations/0148_inventoryitem_component.py
+%%DATADIR%%/dcim/migrations/0149_inventoryitem_templates.py
+%%DATADIR%%/dcim/migrations/0150_interface_vrf.py
+%%DATADIR%%/dcim/migrations/0151_interface_speed_duplex.py
+%%DATADIR%%/dcim/migrations/0152_standardize_id_fields.py
+%%DATADIR%%/dcim/migrations/0153_created_datetimefield.py
%%DATADIR%%/dcim/migrations/__init__.py
%%DATADIR%%/dcim/models/__init__.py
%%DATADIR%%/dcim/models/cables.py
@@ -264,6 +115,7 @@
%%DATADIR%%/dcim/tables/cables.py
%%DATADIR%%/dcim/tables/devices.py
%%DATADIR%%/dcim/tables/devicetypes.py
+%%DATADIR%%/dcim/tables/modules.py
%%DATADIR%%/dcim/tables/power.py
%%DATADIR%%/dcim/tables/racks.py
%%DATADIR%%/dcim/tables/sites.py
@@ -279,6 +131,206 @@
%%DATADIR%%/dcim/urls.py
%%DATADIR%%/dcim/utils.py
%%DATADIR%%/dcim/views.py
+%%DATADIR%%/docs/additional-features/change-logging.md
+%%DATADIR%%/docs/additional-features/journaling.md
+%%DATADIR%%/docs/additional-features/napalm.md
+%%DATADIR%%/docs/additional-features/prometheus-metrics.md
+%%DATADIR%%/docs/additional-features/webhooks.md
+%%DATADIR%%/docs/administration/authentication/microsoft-azure-ad.md
+%%DATADIR%%/docs/administration/authentication/okta.md
+%%DATADIR%%/docs/administration/authentication/overview.md
+%%DATADIR%%/docs/administration/error-reporting.md
+%%DATADIR%%/docs/administration/housekeeping.md
+%%DATADIR%%/docs/administration/netbox-shell.md
+%%DATADIR%%/docs/administration/permissions.md
+%%DATADIR%%/docs/administration/replicating-netbox.md
+%%DATADIR%%/docs/configuration/dynamic-settings.md
+%%DATADIR%%/docs/configuration/error-reporting.md
+%%DATADIR%%/docs/configuration/index.md
+%%DATADIR%%/docs/configuration/optional-settings.md
+%%DATADIR%%/docs/configuration/remote-authentication.md
+%%DATADIR%%/docs/configuration/required-settings.md
+%%DATADIR%%/docs/core-functionality/circuits.md
+%%DATADIR%%/docs/core-functionality/contacts.md
+%%DATADIR%%/docs/core-functionality/device-types.md
+%%DATADIR%%/docs/core-functionality/devices.md
+%%DATADIR%%/docs/core-functionality/ipam.md
+%%DATADIR%%/docs/core-functionality/modules.md
+%%DATADIR%%/docs/core-functionality/power.md
+%%DATADIR%%/docs/core-functionality/services.md
+%%DATADIR%%/docs/core-functionality/sites-and-racks.md
+%%DATADIR%%/docs/core-functionality/tenancy.md
+%%DATADIR%%/docs/core-functionality/virtualization.md
+%%DATADIR%%/docs/core-functionality/vlans.md
+%%DATADIR%%/docs/core-functionality/wireless.md
+%%DATADIR%%/docs/customization/custom-fields.md
+%%DATADIR%%/docs/customization/custom-scripts.md
+%%DATADIR%%/docs/customization/custom-validation.md
+%%DATADIR%%/docs/customization/export-templates.md
+%%DATADIR%%/docs/customization/reports.md
+%%DATADIR%%/docs/development/adding-models.md
+%%DATADIR%%/docs/development/application-registry.md
+%%DATADIR%%/docs/development/extending-models.md
+%%DATADIR%%/docs/development/getting-started.md
+%%DATADIR%%/docs/development/index.md
+%%DATADIR%%/docs/development/models.md
+%%DATADIR%%/docs/development/release-checklist.md
+%%DATADIR%%/docs/development/signals.md
+%%DATADIR%%/docs/development/style-guide.md
+%%DATADIR%%/docs/development/user-preferences.md
+%%DATADIR%%/docs/development/web-ui.md
+%%DATADIR%%/docs/extra.css
+%%DATADIR%%/docs/graphql-api/overview.md
+%%DATADIR%%/docs/index.md
+%%DATADIR%%/docs/installation/1-postgresql.md
+%%DATADIR%%/docs/installation/2-redis.md
+%%DATADIR%%/docs/installation/3-netbox.md
+%%DATADIR%%/docs/installation/4-gunicorn.md
+%%DATADIR%%/docs/installation/5-http-server.md
+%%DATADIR%%/docs/installation/6-ldap.md
+%%DATADIR%%/docs/installation/index.md
+%%DATADIR%%/docs/installation/migrating-to-systemd.md
+%%DATADIR%%/docs/installation/upgrading.md
+%%DATADIR%%/docs/media/admin_ui_run_permission.png
+%%DATADIR%%/docs/media/authentication/azure_ad_add_app_registration.png
+%%DATADIR%%/docs/media/authentication/azure_ad_add_client_secret.png
+%%DATADIR%%/docs/media/authentication/azure_ad_app_registration.png
+%%DATADIR%%/docs/media/authentication/azure_ad_app_registration_created.png
+%%DATADIR%%/docs/media/authentication/azure_ad_client_secret.png
+%%DATADIR%%/docs/media/authentication/azure_ad_client_secret_created.png
+%%DATADIR%%/docs/media/authentication/azure_ad_login_portal.png
+%%DATADIR%%/docs/media/authentication/netbox_azure_ad_login.png
+%%DATADIR%%/docs/media/authentication/netbox_okta_login.png
+%%DATADIR%%/docs/media/authentication/okta_create_app_registration.png
+%%DATADIR%%/docs/media/authentication/okta_integration_parameters.png
+%%DATADIR%%/docs/media/authentication/okta_login_portal.png
+%%DATADIR%%/docs/media/authentication/okta_web_app_integration.png
+%%DATADIR%%/docs/media/development/github_fork_button.png
+%%DATADIR%%/docs/media/development/github_fork_dialog.png
+%%DATADIR%%/docs/media/installation/netbox_application_stack.png
+%%DATADIR%%/docs/media/models/dcim_cable_trace.png
+%%DATADIR%%/docs/media/power_distribution.png
+%%DATADIR%%/docs/media/release-notes/netbox30_ui.png
+%%DATADIR%%/docs/media/screenshots/cable-trace.png
+%%DATADIR%%/docs/media/screenshots/home-dark.png
+%%DATADIR%%/docs/media/screenshots/home-light.png
+%%DATADIR%%/docs/media/screenshots/prefixes-list.png
+%%DATADIR%%/docs/media/screenshots/rack.png
+%%DATADIR%%/docs/models/circuits/circuit.md
+%%DATADIR%%/docs/models/circuits/circuittermination.md
+%%DATADIR%%/docs/models/circuits/circuittype.md
+%%DATADIR%%/docs/models/circuits/provider.md
+%%DATADIR%%/docs/models/circuits/providernetwork.md
+%%DATADIR%%/docs/models/dcim/cable.md
+%%DATADIR%%/docs/models/dcim/consoleport.md
+%%DATADIR%%/docs/models/dcim/consoleporttemplate.md
+%%DATADIR%%/docs/models/dcim/consoleserverport.md
+%%DATADIR%%/docs/models/dcim/consoleserverporttemplate.md
+%%DATADIR%%/docs/models/dcim/device.md
+%%DATADIR%%/docs/models/dcim/devicebay.md
+%%DATADIR%%/docs/models/dcim/devicebaytemplate.md
+%%DATADIR%%/docs/models/dcim/devicerole.md
+%%DATADIR%%/docs/models/dcim/devicetype.md
+%%DATADIR%%/docs/models/dcim/frontport.md
+%%DATADIR%%/docs/models/dcim/frontporttemplate.md
+%%DATADIR%%/docs/models/dcim/interface.md
+%%DATADIR%%/docs/models/dcim/interfacetemplate.md
+%%DATADIR%%/docs/models/dcim/inventoryitem.md
+%%DATADIR%%/docs/models/dcim/inventoryitemrole.md
+%%DATADIR%%/docs/models/dcim/inventoryitemtemplate.md
+%%DATADIR%%/docs/models/dcim/location.md
+%%DATADIR%%/docs/models/dcim/manufacturer.md
+%%DATADIR%%/docs/models/dcim/module.md
+%%DATADIR%%/docs/models/dcim/modulebay.md
+%%DATADIR%%/docs/models/dcim/modulebaytemplate.md
+%%DATADIR%%/docs/models/dcim/moduletype.md
+%%DATADIR%%/docs/models/dcim/platform.md
+%%DATADIR%%/docs/models/dcim/powerfeed.md
+%%DATADIR%%/docs/models/dcim/poweroutlet.md
+%%DATADIR%%/docs/models/dcim/poweroutlettemplate.md
+%%DATADIR%%/docs/models/dcim/powerpanel.md
+%%DATADIR%%/docs/models/dcim/powerport.md
+%%DATADIR%%/docs/models/dcim/powerporttemplate.md
+%%DATADIR%%/docs/models/dcim/rack.md
+%%DATADIR%%/docs/models/dcim/rackreservation.md
+%%DATADIR%%/docs/models/dcim/rackrole.md
+%%DATADIR%%/docs/models/dcim/rearport.md
+%%DATADIR%%/docs/models/dcim/rearporttemplate.md
+%%DATADIR%%/docs/models/dcim/region.md
+%%DATADIR%%/docs/models/dcim/site.md
+%%DATADIR%%/docs/models/dcim/sitegroup.md
+%%DATADIR%%/docs/models/dcim/virtualchassis.md
+%%DATADIR%%/docs/models/extras/configcontext.md
+%%DATADIR%%/docs/models/extras/customfield.md
+%%DATADIR%%/docs/models/extras/customlink.md
+%%DATADIR%%/docs/models/extras/exporttemplate.md
+%%DATADIR%%/docs/models/extras/imageattachment.md
+%%DATADIR%%/docs/models/extras/tag.md
+%%DATADIR%%/docs/models/extras/webhook.md
+%%DATADIR%%/docs/models/ipam/aggregate.md
+%%DATADIR%%/docs/models/ipam/asn.md
+%%DATADIR%%/docs/models/ipam/fhrpgroup.md
+%%DATADIR%%/docs/models/ipam/fhrpgroupassignment.md
+%%DATADIR%%/docs/models/ipam/ipaddress.md
+%%DATADIR%%/docs/models/ipam/iprange.md
+%%DATADIR%%/docs/models/ipam/prefix.md
+%%DATADIR%%/docs/models/ipam/rir.md
+%%DATADIR%%/docs/models/ipam/role.md
+%%DATADIR%%/docs/models/ipam/routetarget.md
+%%DATADIR%%/docs/models/ipam/service.md
+%%DATADIR%%/docs/models/ipam/servicetemplate.md
+%%DATADIR%%/docs/models/ipam/vlan.md
+%%DATADIR%%/docs/models/ipam/vlangroup.md
+%%DATADIR%%/docs/models/ipam/vrf.md
+%%DATADIR%%/docs/models/tenancy/contact.md
+%%DATADIR%%/docs/models/tenancy/contactgroup.md
+%%DATADIR%%/docs/models/tenancy/contactrole.md
+%%DATADIR%%/docs/models/tenancy/tenant.md
+%%DATADIR%%/docs/models/tenancy/tenantgroup.md
+%%DATADIR%%/docs/models/users/objectpermission.md
+%%DATADIR%%/docs/models/users/token.md
+%%DATADIR%%/docs/models/virtualization/cluster.md
+%%DATADIR%%/docs/models/virtualization/clustergroup.md
+%%DATADIR%%/docs/models/virtualization/clustertype.md
+%%DATADIR%%/docs/models/virtualization/virtualmachine.md
+%%DATADIR%%/docs/models/virtualization/vminterface.md
+%%DATADIR%%/docs/models/wireless/wirelesslan.md
+%%DATADIR%%/docs/models/wireless/wirelesslangroup.md
+%%DATADIR%%/docs/models/wireless/wirelesslink.md
+%%DATADIR%%/docs/netbox_logo.png
+%%DATADIR%%/docs/netbox_logo.svg
+%%DATADIR%%/docs/plugins/development/background-tasks.md
+%%DATADIR%%/docs/plugins/development/filtersets.md
+%%DATADIR%%/docs/plugins/development/forms.md
+%%DATADIR%%/docs/plugins/development/graphql-api.md
+%%DATADIR%%/docs/plugins/development/index.md
+%%DATADIR%%/docs/plugins/development/models.md
+%%DATADIR%%/docs/plugins/development/navigation.md
+%%DATADIR%%/docs/plugins/development/rest-api.md
+%%DATADIR%%/docs/plugins/development/tables.md
+%%DATADIR%%/docs/plugins/development/templates.md
+%%DATADIR%%/docs/plugins/development/views.md
+%%DATADIR%%/docs/plugins/index.md
+%%DATADIR%%/docs/reference/conditions.md
+%%DATADIR%%/docs/release-notes/index.md
+%%DATADIR%%/docs/release-notes/version-2.0.md
+%%DATADIR%%/docs/release-notes/version-2.1.md
+%%DATADIR%%/docs/release-notes/version-2.10.md
+%%DATADIR%%/docs/release-notes/version-2.11.md
+%%DATADIR%%/docs/release-notes/version-2.2.md
+%%DATADIR%%/docs/release-notes/version-2.3.md
+%%DATADIR%%/docs/release-notes/version-2.4.md
+%%DATADIR%%/docs/release-notes/version-2.5.md
+%%DATADIR%%/docs/release-notes/version-2.6.md
+%%DATADIR%%/docs/release-notes/version-2.7.md
+%%DATADIR%%/docs/release-notes/version-2.8.md
+%%DATADIR%%/docs/release-notes/version-2.9.md
+%%DATADIR%%/docs/release-notes/version-3.0.md
+%%DATADIR%%/docs/release-notes/version-3.1.md
+%%DATADIR%%/docs/release-notes/version-3.2.md
+%%DATADIR%%/docs/rest-api/authentication.md
+%%DATADIR%%/docs/rest-api/filtering.md
+%%DATADIR%%/docs/rest-api/overview.md
%%DATADIR%%/extras/__init__.py
%%DATADIR%%/extras/admin.py
%%DATADIR%%/extras/api/__init__.py
@@ -309,6 +361,7 @@
%%DATADIR%%/extras/lookups.py
%%DATADIR%%/extras/management/__init__.py
%%DATADIR%%/extras/management/commands/__init__.py
+%%DATADIR%%/extras/management/commands/clearcache.py
%%DATADIR%%/extras/management/commands/housekeeping.py
%%DATADIR%%/extras/management/commands/nbshell.py
%%DATADIR%%/extras/management/commands/renaturalize.py
@@ -326,6 +379,12 @@
%%DATADIR%%/extras/migrations/0065_imageattachment_change_logging.py
%%DATADIR%%/extras/migrations/0066_customfield_name_validation.py
%%DATADIR%%/extras/migrations/0067_customfield_min_max_values.py
+%%DATADIR%%/extras/migrations/0068_configcontext_cluster_types.py
+%%DATADIR%%/extras/migrations/0069_custom_object_field.py
+%%DATADIR%%/extras/migrations/0070_customlink_enabled.py
+%%DATADIR%%/extras/migrations/0071_standardize_id_fields.py
+%%DATADIR%%/extras/migrations/0072_created_datetimefield.py
+%%DATADIR%%/extras/migrations/0073_journalentry_tags_custom_fields.py
%%DATADIR%%/extras/migrations/__init__.py
%%DATADIR%%/extras/models/__init__.py
%%DATADIR%%/extras/models/change_logging.py
@@ -342,7 +401,9 @@
%%DATADIR%%/extras/reports.py
%%DATADIR%%/extras/scripts.py
%%DATADIR%%/extras/signals.py
-%%DATADIR%%/extras/tables.py
+%%DATADIR%%/extras/tables/__init__.py
+%%DATADIR%%/extras/tables/tables.py
+%%DATADIR%%/extras/tables/template_code.py
%%DATADIR%%/extras/templatetags/__init__.py
%%DATADIR%%/extras/templatetags/custom_links.py
%%DATADIR%%/extras/templatetags/log_levels.py
@@ -353,11 +414,13 @@
%%DATADIR%%/extras/tests/dummy_plugin/api/serializers.py
%%DATADIR%%/extras/tests/dummy_plugin/api/urls.py
%%DATADIR%%/extras/tests/dummy_plugin/api/views.py
+%%DATADIR%%/extras/tests/dummy_plugin/graphql.py
%%DATADIR%%/extras/tests/dummy_plugin/middleware.py
%%DATADIR%%/extras/tests/dummy_plugin/migrations/0001_initial.py
%%DATADIR%%/extras/tests/dummy_plugin/migrations/__init__.py
%%DATADIR%%/extras/tests/dummy_plugin/models.py
%%DATADIR%%/extras/tests/dummy_plugin/navigation.py
+%%DATADIR%%/extras/tests/dummy_plugin/preferences.py
%%DATADIR%%/extras/tests/dummy_plugin/template_content.py
%%DATADIR%%/extras/tests/dummy_plugin/urls.py
%%DATADIR%%/extras/tests/dummy_plugin/views.py
@@ -418,6 +481,10 @@
%%DATADIR%%/ipam/migrations/0051_extend_tag_support.py
%%DATADIR%%/ipam/migrations/0052_fhrpgroup.py
%%DATADIR%%/ipam/migrations/0053_asn_model.py
+%%DATADIR%%/ipam/migrations/0054_vlangroup_min_max_vids.py
+%%DATADIR%%/ipam/migrations/0055_servicetemplate.py
+%%DATADIR%%/ipam/migrations/0056_standardize_id_fields.py
+%%DATADIR%%/ipam/migrations/0057_created_datetimefield.py
%%DATADIR%%/ipam/migrations/__init__.py
%%DATADIR%%/ipam/models/__init__.py
%%DATADIR%%/ipam/models/fhrp.py
@@ -446,6 +513,7 @@
%%DATADIR%%/manage.py
%%DATADIR%%/media/devicetype-images/.gitignore
%%DATADIR%%/media/image-attachments/.gitignore
+%%DATADIR%%/mkdocs.yml
%%DATADIR%%/netbox/__init__.py
%%DATADIR%%/netbox/admin.py
%%DATADIR%%/netbox/api/__init__.py
@@ -456,17 +524,23 @@
%%DATADIR%%/netbox/api/pagination.py
%%DATADIR%%/netbox/api/renderers.py
%%DATADIR%%/netbox/api/routers.py
-%%DATADIR%%/netbox/api/serializers.py
+%%DATADIR%%/netbox/api/serializers/__init__.py
+%%DATADIR%%/netbox/api/serializers/base.py
+%%DATADIR%%/netbox/api/serializers/features.py
+%%DATADIR%%/netbox/api/serializers/nested.py
%%DATADIR%%/netbox/api/views.py
+%%DATADIR%%/netbox/api/viewsets/__init__.py
+%%DATADIR%%/netbox/api/viewsets/mixins.py
%%DATADIR%%/netbox/authentication.py
%%DATADIR%%/netbox/config/__init__.py
%%DATADIR%%/netbox/config/parameters.py
-%%DATADIR%%/netbox/configuration.example.py
-%%DATADIR%%/netbox/configuration.testing.py
+%%DATADIR%%/netbox/configuration_example.py
+%%DATADIR%%/netbox/configuration_testing.py
%%DATADIR%%/netbox/constants.py
%%DATADIR%%/netbox/context_processors.py
%%DATADIR%%/netbox/filtersets.py
-%%DATADIR%%/netbox/forms.py
+%%DATADIR%%/netbox/forms/__init__.py
+%%DATADIR%%/netbox/forms/base.py
%%DATADIR%%/netbox/graphql/__init__.py
%%DATADIR%%/netbox/graphql/fields.py
%%DATADIR%%/netbox/graphql/scalars.py
@@ -475,20 +549,30 @@
%%DATADIR%%/netbox/graphql/utils.py
%%DATADIR%%/netbox/graphql/views.py
%%DATADIR%%/netbox/middleware.py
-%%DATADIR%%/netbox/models.py
+%%DATADIR%%/netbox/models/__init__.py
+%%DATADIR%%/netbox/models/features.py
%%DATADIR%%/netbox/navigation_menu.py
+%%DATADIR%%/netbox/preferences.py
%%DATADIR%%/netbox/request_context.py
%%DATADIR%%/netbox/settings.py
%%DATADIR%%/netbox/signals.py
+%%DATADIR%%/netbox/tables/__init__.py
+%%DATADIR%%/netbox/tables/columns.py
+%%DATADIR%%/netbox/tables/tables.py
%%DATADIR%%/netbox/tests/__init__.py
%%DATADIR%%/netbox/tests/test_api.py
%%DATADIR%%/netbox/tests/test_authentication.py
%%DATADIR%%/netbox/tests/test_config.py
%%DATADIR%%/netbox/tests/test_graphql.py
+%%DATADIR%%/netbox/tests/test_tables.py
%%DATADIR%%/netbox/tests/test_views.py
%%DATADIR%%/netbox/urls.py
%%DATADIR%%/netbox/views/__init__.py
-%%DATADIR%%/netbox/views/generic.py
+%%DATADIR%%/netbox/views/generic/__init__.py
+%%DATADIR%%/netbox/views/generic/base.py
+%%DATADIR%%/netbox/views/generic/bulk_views.py
+%%DATADIR%%/netbox/views/generic/feature_views.py
+%%DATADIR%%/netbox/views/generic/object_views.py
%%DATADIR%%/netbox/wsgi.py
%%DATADIR%%/project-static/.eslintignore
%%DATADIR%%/project-static/.eslintrc
@@ -518,210 +602,6 @@
%%DATADIR%%/project-static/dist/status.js
%%DATADIR%%/project-static/dist/status.js.map
%%DATADIR%%/project-static/docs/.info
-%%DATADIR%%/project-static/docs/404.html
-%%DATADIR%%/project-static/docs/additional-features/change-logging/index.html
-%%DATADIR%%/project-static/docs/additional-features/journaling/index.html
-%%DATADIR%%/project-static/docs/additional-features/napalm/index.html
-%%DATADIR%%/project-static/docs/additional-features/prometheus-metrics/index.html
-%%DATADIR%%/project-static/docs/additional-features/webhooks/index.html
-%%DATADIR%%/project-static/docs/administration/authentication/index.html
-%%DATADIR%%/project-static/docs/administration/housekeeping/index.html
-%%DATADIR%%/project-static/docs/administration/netbox-shell/index.html
-%%DATADIR%%/project-static/docs/administration/permissions/index.html
-%%DATADIR%%/project-static/docs/administration/replicating-netbox/index.html
-%%DATADIR%%/project-static/docs/assets/images/favicon.png
-%%DATADIR%%/project-static/docs/assets/javascripts/bundle.e87a5f81.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/bundle.e87a5f81.min.js.map
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.ar.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.da.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.de.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.du.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.es.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.fi.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.fr.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.hi.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.hu.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.it.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.ja.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.jp.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.multi.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.nl.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.no.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.pt.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.ro.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.ru.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.sv.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.th.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.tr.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.vi.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/min/lunr.zh.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/tinyseg.js
-%%DATADIR%%/project-static/docs/assets/javascripts/lunr/wordcut.js
-%%DATADIR%%/project-static/docs/assets/javascripts/workers/search.5e67fbfe.min.js
-%%DATADIR%%/project-static/docs/assets/javascripts/workers/search.5e67fbfe.min.js.map
-%%DATADIR%%/project-static/docs/assets/stylesheets/main.9d5733d3.min.css
-%%DATADIR%%/project-static/docs/assets/stylesheets/main.9d5733d3.min.css.map
-%%DATADIR%%/project-static/docs/assets/stylesheets/palette.e6a45f82.min.css
-%%DATADIR%%/project-static/docs/assets/stylesheets/palette.e6a45f82.min.css.map
-%%DATADIR%%/project-static/docs/configuration/dynamic-settings/index.html
-%%DATADIR%%/project-static/docs/configuration/index.html
-%%DATADIR%%/project-static/docs/configuration/optional-settings/index.html
-%%DATADIR%%/project-static/docs/configuration/remote-authentication/index.html
-%%DATADIR%%/project-static/docs/configuration/required-settings/index.html
-%%DATADIR%%/project-static/docs/core-functionality/circuits/index.html
-%%DATADIR%%/project-static/docs/core-functionality/contacts/index.html
-%%DATADIR%%/project-static/docs/core-functionality/device-types/index.html
-%%DATADIR%%/project-static/docs/core-functionality/devices/index.html
-%%DATADIR%%/project-static/docs/core-functionality/ipam/index.html
-%%DATADIR%%/project-static/docs/core-functionality/power/index.html
-%%DATADIR%%/project-static/docs/core-functionality/services/index.html
-%%DATADIR%%/project-static/docs/core-functionality/sites-and-racks/index.html
-%%DATADIR%%/project-static/docs/core-functionality/tenancy/index.html
-%%DATADIR%%/project-static/docs/core-functionality/virtualization/index.html
-%%DATADIR%%/project-static/docs/core-functionality/vlans/index.html
-%%DATADIR%%/project-static/docs/core-functionality/wireless/index.html
-%%DATADIR%%/project-static/docs/customization/custom-fields/index.html
-%%DATADIR%%/project-static/docs/customization/custom-scripts/index.html
-%%DATADIR%%/project-static/docs/customization/custom-validation/index.html
-%%DATADIR%%/project-static/docs/customization/export-templates/index.html
-%%DATADIR%%/project-static/docs/customization/reports/index.html
-%%DATADIR%%/project-static/docs/development/adding-models/index.html
-%%DATADIR%%/project-static/docs/development/application-registry/index.html
-%%DATADIR%%/project-static/docs/development/extending-models/index.html
-%%DATADIR%%/project-static/docs/development/getting-started/index.html
-%%DATADIR%%/project-static/docs/development/index.html
-%%DATADIR%%/project-static/docs/development/models/index.html
-%%DATADIR%%/project-static/docs/development/release-checklist/index.html
-%%DATADIR%%/project-static/docs/development/signals/index.html
-%%DATADIR%%/project-static/docs/development/style-guide/index.html
-%%DATADIR%%/project-static/docs/development/user-preferences/index.html
-%%DATADIR%%/project-static/docs/development/web-ui/index.html
-%%DATADIR%%/project-static/docs/extra.css
-%%DATADIR%%/project-static/docs/graphql-api/overview/index.html
-%%DATADIR%%/project-static/docs/index.html
-%%DATADIR%%/project-static/docs/installation/1-postgresql/index.html
-%%DATADIR%%/project-static/docs/installation/2-redis/index.html
-%%DATADIR%%/project-static/docs/installation/3-netbox/index.html
-%%DATADIR%%/project-static/docs/installation/4-gunicorn/index.html
-%%DATADIR%%/project-static/docs/installation/5-http-server/index.html
-%%DATADIR%%/project-static/docs/installation/6-ldap/index.html
-%%DATADIR%%/project-static/docs/installation/index.html
-%%DATADIR%%/project-static/docs/installation/migrating-to-systemd/index.html
-%%DATADIR%%/project-static/docs/installation/upgrading/index.html
-%%DATADIR%%/project-static/docs/media/admin_ui_run_permission.png
-%%DATADIR%%/project-static/docs/media/installation/netbox_application_stack.png
-%%DATADIR%%/project-static/docs/media/models/dcim_cable_trace.png
-%%DATADIR%%/project-static/docs/media/plugins/plugin_admin_ui.png
-%%DATADIR%%/project-static/docs/media/plugins/plugin_rest_api_endpoint.png
-%%DATADIR%%/project-static/docs/media/power_distribution.png
-%%DATADIR%%/project-static/docs/media/release-notes/netbox30_ui.png
-%%DATADIR%%/project-static/docs/media/screenshots/cable-trace.png
-%%DATADIR%%/project-static/docs/media/screenshots/home-dark.png
-%%DATADIR%%/project-static/docs/media/screenshots/home-light.png
-%%DATADIR%%/project-static/docs/media/screenshots/prefixes-list.png
-%%DATADIR%%/project-static/docs/media/screenshots/rack.png
-%%DATADIR%%/project-static/docs/models/circuits/circuit/index.html
-%%DATADIR%%/project-static/docs/models/circuits/circuittermination/index.html
-%%DATADIR%%/project-static/docs/models/circuits/circuittype/index.html
-%%DATADIR%%/project-static/docs/models/circuits/provider/index.html
-%%DATADIR%%/project-static/docs/models/circuits/providernetwork/index.html
-%%DATADIR%%/project-static/docs/models/dcim/cable/index.html
-%%DATADIR%%/project-static/docs/models/dcim/consoleport/index.html
-%%DATADIR%%/project-static/docs/models/dcim/consoleporttemplate/index.html
-%%DATADIR%%/project-static/docs/models/dcim/consoleserverport/index.html
-%%DATADIR%%/project-static/docs/models/dcim/consoleserverporttemplate/index.html
-%%DATADIR%%/project-static/docs/models/dcim/device/index.html
-%%DATADIR%%/project-static/docs/models/dcim/devicebay/index.html
-%%DATADIR%%/project-static/docs/models/dcim/devicebaytemplate/index.html
-%%DATADIR%%/project-static/docs/models/dcim/devicerole/index.html
-%%DATADIR%%/project-static/docs/models/dcim/devicetype/index.html
-%%DATADIR%%/project-static/docs/models/dcim/frontport/index.html
-%%DATADIR%%/project-static/docs/models/dcim/frontporttemplate/index.html
-%%DATADIR%%/project-static/docs/models/dcim/interface/index.html
-%%DATADIR%%/project-static/docs/models/dcim/interfacetemplate/index.html
-%%DATADIR%%/project-static/docs/models/dcim/inventoryitem/index.html
-%%DATADIR%%/project-static/docs/models/dcim/location/index.html
-%%DATADIR%%/project-static/docs/models/dcim/manufacturer/index.html
-%%DATADIR%%/project-static/docs/models/dcim/platform/index.html
-%%DATADIR%%/project-static/docs/models/dcim/powerfeed/index.html
-%%DATADIR%%/project-static/docs/models/dcim/poweroutlet/index.html
-%%DATADIR%%/project-static/docs/models/dcim/poweroutlettemplate/index.html
-%%DATADIR%%/project-static/docs/models/dcim/powerpanel/index.html
-%%DATADIR%%/project-static/docs/models/dcim/powerport/index.html
-%%DATADIR%%/project-static/docs/models/dcim/powerporttemplate/index.html
-%%DATADIR%%/project-static/docs/models/dcim/rack/index.html
-%%DATADIR%%/project-static/docs/models/dcim/rackreservation/index.html
-%%DATADIR%%/project-static/docs/models/dcim/rackrole/index.html
-%%DATADIR%%/project-static/docs/models/dcim/rearport/index.html
-%%DATADIR%%/project-static/docs/models/dcim/rearporttemplate/index.html
-%%DATADIR%%/project-static/docs/models/dcim/region/index.html
-%%DATADIR%%/project-static/docs/models/dcim/site/index.html
-%%DATADIR%%/project-static/docs/models/dcim/sitegroup/index.html
-%%DATADIR%%/project-static/docs/models/dcim/virtualchassis/index.html
-%%DATADIR%%/project-static/docs/models/extras/configcontext/index.html
-%%DATADIR%%/project-static/docs/models/extras/customfield/index.html
-%%DATADIR%%/project-static/docs/models/extras/customlink/index.html
-%%DATADIR%%/project-static/docs/models/extras/exporttemplate/index.html
-%%DATADIR%%/project-static/docs/models/extras/imageattachment/index.html
-%%DATADIR%%/project-static/docs/models/extras/tag/index.html
-%%DATADIR%%/project-static/docs/models/extras/webhook/index.html
-%%DATADIR%%/project-static/docs/models/ipam/aggregate/index.html
-%%DATADIR%%/project-static/docs/models/ipam/asn/index.html
-%%DATADIR%%/project-static/docs/models/ipam/fhrpgroup/index.html
-%%DATADIR%%/project-static/docs/models/ipam/fhrpgroupassignment/index.html
-%%DATADIR%%/project-static/docs/models/ipam/ipaddress/index.html
-%%DATADIR%%/project-static/docs/models/ipam/iprange/index.html
-%%DATADIR%%/project-static/docs/models/ipam/prefix/index.html
-%%DATADIR%%/project-static/docs/models/ipam/rir/index.html
-%%DATADIR%%/project-static/docs/models/ipam/role/index.html
-%%DATADIR%%/project-static/docs/models/ipam/routetarget/index.html
-%%DATADIR%%/project-static/docs/models/ipam/service/index.html
-%%DATADIR%%/project-static/docs/models/ipam/vlan/index.html
-%%DATADIR%%/project-static/docs/models/ipam/vlangroup/index.html
-%%DATADIR%%/project-static/docs/models/ipam/vrf/index.html
-%%DATADIR%%/project-static/docs/models/tenancy/contact/index.html
-%%DATADIR%%/project-static/docs/models/tenancy/contactgroup/index.html
-%%DATADIR%%/project-static/docs/models/tenancy/contactrole/index.html
-%%DATADIR%%/project-static/docs/models/tenancy/tenant/index.html
-%%DATADIR%%/project-static/docs/models/tenancy/tenantgroup/index.html
-%%DATADIR%%/project-static/docs/models/users/objectpermission/index.html
-%%DATADIR%%/project-static/docs/models/users/token/index.html
-%%DATADIR%%/project-static/docs/models/virtualization/cluster/index.html
-%%DATADIR%%/project-static/docs/models/virtualization/clustergroup/index.html
-%%DATADIR%%/project-static/docs/models/virtualization/clustertype/index.html
-%%DATADIR%%/project-static/docs/models/virtualization/virtualmachine/index.html
-%%DATADIR%%/project-static/docs/models/virtualization/vminterface/index.html
-%%DATADIR%%/project-static/docs/models/wireless/wirelesslan/index.html
-%%DATADIR%%/project-static/docs/models/wireless/wirelesslangroup/index.html
-%%DATADIR%%/project-static/docs/models/wireless/wirelesslink/index.html
-%%DATADIR%%/project-static/docs/netbox_logo.png
-%%DATADIR%%/project-static/docs/netbox_logo.svg
-%%DATADIR%%/project-static/docs/plugins/development/index.html
-%%DATADIR%%/project-static/docs/plugins/index.html
-%%DATADIR%%/project-static/docs/reference/conditions/index.html
-%%DATADIR%%/project-static/docs/release-notes/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-2.0/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-2.1/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-2.10/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-2.11/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-2.2/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-2.3/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-2.4/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-2.5/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-2.6/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-2.7/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-2.8/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-2.9/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-3.0/index.html
-%%DATADIR%%/project-static/docs/release-notes/version-3.1/index.html
-%%DATADIR%%/project-static/docs/requirements.txt
-%%DATADIR%%/project-static/docs/rest-api/authentication/index.html
-%%DATADIR%%/project-static/docs/rest-api/filtering/index.html
-%%DATADIR%%/project-static/docs/rest-api/overview/index.html
-%%DATADIR%%/project-static/docs/search/search_index.json
-%%DATADIR%%/project-static/docs/sitemap.xml
-%%DATADIR%%/project-static/docs/sitemap.xml.gz
%%DATADIR%%/project-static/img/graphql.ico
%%DATADIR%%/project-static/img/netbox.ico
%%DATADIR%%/project-static/img/netbox_icon.svg
@@ -739,7 +619,6 @@
%%DATADIR%%/project-static/src/buttons/depthToggle.ts
%%DATADIR%%/project-static/src/buttons/index.ts
%%DATADIR%%/project-static/src/buttons/moveOptions.ts
-%%DATADIR%%/project-static/src/buttons/preferences.ts
%%DATADIR%%/project-static/src/buttons/reslug.ts
%%DATADIR%%/project-static/src/buttons/selectAll.ts
%%DATADIR%%/project-static/src/clipboard.ts
@@ -823,6 +702,8 @@
%%DATADIR%%/templates/dcim/cable_connect.html
%%DATADIR%%/templates/dcim/cable_edit.html
%%DATADIR%%/templates/dcim/cable_trace.html
+%%DATADIR%%/templates/dcim/component_create.html
+%%DATADIR%%/templates/dcim/component_template_create.html
%%DATADIR%%/templates/dcim/connections_list.html
%%DATADIR%%/templates/dcim/consoleport.html
%%DATADIR%%/templates/dcim/consoleport_delete.html
@@ -838,6 +719,7 @@
%%DATADIR%%/templates/dcim/device/interfaces.html
%%DATADIR%%/templates/dcim/device/inventory.html
%%DATADIR%%/templates/dcim/device/lldp_neighbors.html
+%%DATADIR%%/templates/dcim/device/modulebays.html
%%DATADIR%%/templates/dcim/device/poweroutlets.html
%%DATADIR%%/templates/dcim/device/powerports.html
%%DATADIR%%/templates/dcim/device/rearports.html
@@ -856,6 +738,7 @@
%%DATADIR%%/templates/dcim/devicetype/base.html
%%DATADIR%%/templates/dcim/devicetype/component_templates.html
%%DATADIR%%/templates/dcim/frontport.html
+%%DATADIR%%/templates/dcim/frontporttemplate_create.html
%%DATADIR%%/templates/dcim/inc/cable_form.html
%%DATADIR%%/templates/dcim/inc/cable_termination.html
%%DATADIR%%/templates/dcim/inc/cable_toggle_buttons.html
@@ -864,16 +747,25 @@
%%DATADIR%%/templates/dcim/inc/endpoint_connection.html
%%DATADIR%%/templates/dcim/inc/interface_vlans_table.html
%%DATADIR%%/templates/dcim/inc/nonracked_devices.html
+%%DATADIR%%/templates/dcim/inc/panels/inventory_items.html
%%DATADIR%%/templates/dcim/inc/rack_elevation.html
%%DATADIR%%/templates/dcim/interface.html
-%%DATADIR%%/templates/dcim/interface_create.html
%%DATADIR%%/templates/dcim/interface_delete.html
%%DATADIR%%/templates/dcim/interface_edit.html
%%DATADIR%%/templates/dcim/inventoryitem.html
%%DATADIR%%/templates/dcim/inventoryitem_bulk_delete.html
+%%DATADIR%%/templates/dcim/inventoryitem_create.html
%%DATADIR%%/templates/dcim/inventoryitem_delete.html
+%%DATADIR%%/templates/dcim/inventoryitemrole.html
+%%DATADIR%%/templates/dcim/inventoryitemtemplate_create.html
%%DATADIR%%/templates/dcim/location.html
%%DATADIR%%/templates/dcim/manufacturer.html
+%%DATADIR%%/templates/dcim/module.html
+%%DATADIR%%/templates/dcim/modulebay.html
+%%DATADIR%%/templates/dcim/modulebaytemplate_create.html
+%%DATADIR%%/templates/dcim/moduletype.html
+%%DATADIR%%/templates/dcim/moduletype/base.html
+%%DATADIR%%/templates/dcim/moduletype/component_templates.html
%%DATADIR%%/templates/dcim/platform.html
%%DATADIR%%/templates/dcim/powerfeed.html
%%DATADIR%%/templates/dcim/poweroutlet.html
@@ -933,14 +825,14 @@
%%DATADIR%%/templates/extras/tag.html
%%DATADIR%%/templates/extras/templatetags/log_level.html
%%DATADIR%%/templates/extras/webhook.html
+%%DATADIR%%/templates/generic/bulk_add_component.html
+%%DATADIR%%/templates/generic/bulk_delete.html
+%%DATADIR%%/templates/generic/bulk_edit.html
+%%DATADIR%%/templates/generic/bulk_import.html
+%%DATADIR%%/templates/generic/bulk_remove.html
+%%DATADIR%%/templates/generic/bulk_rename.html
%%DATADIR%%/templates/generic/confirmation_form.html
%%DATADIR%%/templates/generic/object.html
-%%DATADIR%%/templates/generic/object_bulk_add_component.html
-%%DATADIR%%/templates/generic/object_bulk_delete.html
-%%DATADIR%%/templates/generic/object_bulk_edit.html
-%%DATADIR%%/templates/generic/object_bulk_import.html
-%%DATADIR%%/templates/generic/object_bulk_remove.html
-%%DATADIR%%/templates/generic/object_bulk_rename.html
%%DATADIR%%/templates/generic/object_delete.html
%%DATADIR%%/templates/generic/object_edit.html
%%DATADIR%%/templates/generic/object_import.html
@@ -993,7 +885,9 @@
%%DATADIR%%/templates/ipam/role.html
%%DATADIR%%/templates/ipam/routetarget.html
%%DATADIR%%/templates/ipam/service.html
+%%DATADIR%%/templates/ipam/service_create.html
%%DATADIR%%/templates/ipam/service_edit.html
+%%DATADIR%%/templates/ipam/servicetemplate.html
%%DATADIR%%/templates/ipam/vlan.html
%%DATADIR%%/templates/ipam/vlan/base.html
%%DATADIR%%/templates/ipam/vlan/interfaces.html
@@ -1057,11 +951,17 @@
%%DATADIR%%/tenancy/migrations/0002_tenant_ordering.py
%%DATADIR%%/tenancy/migrations/0003_contacts.py
%%DATADIR%%/tenancy/migrations/0004_extend_tag_support.py
+%%DATADIR%%/tenancy/migrations/0005_standardize_id_fields.py
+%%DATADIR%%/tenancy/migrations/0006_created_datetimefield.py
+%%DATADIR%%/tenancy/migrations/0007_contact_link.py
%%DATADIR%%/tenancy/migrations/__init__.py
%%DATADIR%%/tenancy/models/__init__.py
%%DATADIR%%/tenancy/models/contacts.py
%%DATADIR%%/tenancy/models/tenants.py
-%%DATADIR%%/tenancy/tables.py
+%%DATADIR%%/tenancy/tables/__init__.py
+%%DATADIR%%/tenancy/tables/columns.py
+%%DATADIR%%/tenancy/tables/contacts.py
+%%DATADIR%%/tenancy/tables/tenants.py
%%DATADIR%%/tenancy/tests/__init__.py
%%DATADIR%%/tenancy/tests/test_api.py
%%DATADIR%%/tenancy/tests/test_filtersets.py
@@ -1085,12 +985,15 @@
%%DATADIR%%/users/graphql/schema.py
%%DATADIR%%/users/graphql/types.py
%%DATADIR%%/users/migrations/0001_squashed_0011.py
+%%DATADIR%%/users/migrations/0002_standardize_id_fields.py
%%DATADIR%%/users/migrations/__init__.py
%%DATADIR%%/users/models.py
+%%DATADIR%%/users/preferences.py
%%DATADIR%%/users/tests/__init__.py
%%DATADIR%%/users/tests/test_api.py
%%DATADIR%%/users/tests/test_filtersets.py
%%DATADIR%%/users/tests/test_models.py
+%%DATADIR%%/users/tests/test_preferences.py
%%DATADIR%%/users/urls.py
%%DATADIR%%/users/views.py
%%DATADIR%%/utilities/__init__.py
@@ -1104,7 +1007,12 @@
%%DATADIR%%/utilities/filters.py
%%DATADIR%%/utilities/forms/__init__.py
%%DATADIR%%/utilities/forms/constants.py
-%%DATADIR%%/utilities/forms/fields.py
+%%DATADIR%%/utilities/forms/fields/__init__.py
+%%DATADIR%%/utilities/forms/fields/content_types.py
+%%DATADIR%%/utilities/forms/fields/csv.py
+%%DATADIR%%/utilities/forms/fields/dynamic.py
+%%DATADIR%%/utilities/forms/fields/expandable.py
+%%DATADIR%%/utilities/forms/fields/fields.py
%%DATADIR%%/utilities/forms/forms.py
%%DATADIR%%/utilities/forms/utils.py
%%DATADIR%%/utilities/forms/widgets.py
@@ -1121,7 +1029,12 @@
%%DATADIR%%/utilities/query_functions.py
%%DATADIR%%/utilities/querysets.py
%%DATADIR%%/utilities/tables.py
+%%DATADIR%%/utilities/templates/builtins/badge.html
+%%DATADIR%%/utilities/templates/builtins/checkmark.html
+%%DATADIR%%/utilities/templates/builtins/tag.html
%%DATADIR%%/utilities/templates/buttons/add.html
+%%DATADIR%%/utilities/templates/buttons/bulk_delete.html
+%%DATADIR%%/utilities/templates/buttons/bulk_edit.html
%%DATADIR%%/utilities/templates/buttons/clone.html
%%DATADIR%%/utilities/templates/buttons/delete.html
%%DATADIR%%/utilities/templates/buttons/edit.html
@@ -1132,20 +1045,20 @@
%%DATADIR%%/utilities/templates/form_helpers/render_field.html
%%DATADIR%%/utilities/templates/form_helpers/render_form.html
%%DATADIR%%/utilities/templates/helpers/applied_filters.html
-%%DATADIR%%/utilities/templates/helpers/badge.html
-%%DATADIR%%/utilities/templates/helpers/checkmark.html
%%DATADIR%%/utilities/templates/helpers/table_config_form.html
-%%DATADIR%%/utilities/templates/helpers/tag.html
%%DATADIR%%/utilities/templates/helpers/utilization_graph.html
%%DATADIR%%/utilities/templates/navigation/menu.html
%%DATADIR%%/utilities/templates/search/searchbar.html
%%DATADIR%%/utilities/templates/widgets/clearable_file_input.html
%%DATADIR%%/utilities/templates/widgets/colorselect_option.html
+%%DATADIR%%/utilities/templates/widgets/select_option.html
%%DATADIR%%/utilities/templates/widgets/select_option_with_pk.html
%%DATADIR%%/utilities/templates/widgets/select_speed.html
-%%DATADIR%%/utilities/templates/widgets/selectwithdisabled_option.html
%%DATADIR%%/utilities/templates/widgets/sluginput.html
%%DATADIR%%/utilities/templatetags/__init__.py
+%%DATADIR%%/utilities/templatetags/builtins/__init__.py
+%%DATADIR%%/utilities/templatetags/builtins/filters.py
+%%DATADIR%%/utilities/templatetags/builtins/tags.py
%%DATADIR%%/utilities/templatetags/buttons.py
%%DATADIR%%/utilities/templatetags/form_helpers.py
%%DATADIR%%/utilities/templatetags/helpers.py
@@ -1165,7 +1078,6 @@
%%DATADIR%%/utilities/tests/test_forms.py
%%DATADIR%%/utilities/tests/test_managers.py
%%DATADIR%%/utilities/tests/test_ordering.py
-%%DATADIR%%/utilities/tests/test_tables.py
%%DATADIR%%/utilities/tests/test_utils.py
%%DATADIR%%/utilities/utils.py
%%DATADIR%%/utilities/validators.py
@@ -1194,9 +1106,14 @@
%%DATADIR%%/virtualization/migrations/0024_cluster_relax_uniqueness.py
%%DATADIR%%/virtualization/migrations/0025_extend_tag_support.py
%%DATADIR%%/virtualization/migrations/0026_vminterface_bridge.py
+%%DATADIR%%/virtualization/migrations/0027_standardize_id_fields.py
+%%DATADIR%%/virtualization/migrations/0028_vminterface_vrf.py
+%%DATADIR%%/virtualization/migrations/0029_created_datetimefield.py
%%DATADIR%%/virtualization/migrations/__init__.py
%%DATADIR%%/virtualization/models.py
-%%DATADIR%%/virtualization/tables.py
+%%DATADIR%%/virtualization/tables/__init__.py
+%%DATADIR%%/virtualization/tables/clusters.py
+%%DATADIR%%/virtualization/tables/virtualmachines.py
%%DATADIR%%/virtualization/tests/__init__.py
%%DATADIR%%/virtualization/tests/test_api.py
%%DATADIR%%/virtualization/tests/test_filtersets.py
@@ -1223,10 +1140,14 @@
%%DATADIR%%/wireless/graphql/schema.py
%%DATADIR%%/wireless/graphql/types.py
%%DATADIR%%/wireless/migrations/0001_wireless.py
+%%DATADIR%%/wireless/migrations/0002_standardize_id_fields.py
+%%DATADIR%%/wireless/migrations/0003_created_datetimefield.py
%%DATADIR%%/wireless/migrations/__init__.py
%%DATADIR%%/wireless/models.py
%%DATADIR%%/wireless/signals.py
-%%DATADIR%%/wireless/tables.py
+%%DATADIR%%/wireless/tables/__init__.py
+%%DATADIR%%/wireless/tables/wirelesslan.py
+%%DATADIR%%/wireless/tables/wirelesslink.py
%%DATADIR%%/wireless/tests/__init__.py
%%DATADIR%%/wireless/tests/test_api.py
%%DATADIR%%/wireless/tests/test_filtersets.py