git: d96a960530f3 - main - net-mgmt/netbox: Update to 3.2.4
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 16 Jun 2022 16:30:30 UTC
The branch main has been updated by kai:
URL: https://cgit.FreeBSD.org/ports/commit/?id=d96a960530f3c20a9edd7837583ff7bec092566f
commit d96a960530f3c20a9edd7837583ff7bec092566f
Author: Kai Knoblich <kai@FreeBSD.org>
AuthorDate: 2022-06-16 16:03:50 +0000
Commit: Kai Knoblich <kai@FreeBSD.org>
CommitDate: 2022-06-16 16:28:34 +0000
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)
---
net-mgmt/netbox/Makefile | 80 ++--
net-mgmt/netbox/distinfo | 6 +-
net-mgmt/netbox/files/patch-mkdocs.yml | 17 +
net-mgmt/netbox/files/pkg-message.in | 188 ++++-----
net-mgmt/netbox/pkg-plist | 709 +++++++++++++++------------------
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
@@ -30,114 +32,6 @@ The following steps are required to finish the upgrade:
2. Restart WSGI/httpd environment (supervisord/apache/nginx/etc.)
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
@@ -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
*** 407 LINES SKIPPED ***