nautobot 2.4.3__py3-none-any.whl → 2.4.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of nautobot might be problematic. Click here for more details.
- nautobot/__init__.py +19 -3
- nautobot/apps/filters.py +2 -0
- nautobot/circuits/filters.py +1 -1
- nautobot/circuits/tests/test_models.py +5 -3
- nautobot/cloud/filters.py +3 -6
- nautobot/cloud/tests/test_filters.py +21 -0
- nautobot/core/admin.py +2 -0
- nautobot/core/celery/__init__.py +5 -3
- nautobot/core/jobs/__init__.py +5 -3
- nautobot/core/management/commands/generate_performance_test_endpoints.py +9 -6
- nautobot/core/models/utils.py +6 -1
- nautobot/core/templates/inc/javascript.html +1 -0
- nautobot/core/templatetags/ui_framework.py +20 -4
- nautobot/core/testing/__init__.py +2 -0
- nautobot/core/testing/forms.py +1 -1
- nautobot/core/testing/mixins.py +9 -0
- nautobot/core/tests/test_api.py +1 -1
- nautobot/core/tests/test_graphql.py +3 -3
- nautobot/core/tests/test_jobs.py +30 -28
- nautobot/core/ui/object_detail.py +1 -1
- nautobot/dcim/api/serializers.py +36 -0
- nautobot/dcim/api/views.py +1 -1
- nautobot/dcim/elevations.py +17 -4
- nautobot/dcim/factory.py +9 -1
- nautobot/dcim/filters/__init__.py +27 -1
- nautobot/dcim/forms.py +13 -1
- nautobot/dcim/models/devices.py +11 -5
- nautobot/dcim/signals.py +26 -0
- nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +0 -62
- nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +6 -0
- nautobot/dcim/tests/test_api.py +176 -0
- nautobot/dcim/tests/test_filters.py +56 -3
- nautobot/dcim/tests/test_jobs.py +4 -6
- nautobot/dcim/tests/test_models.py +40 -0
- nautobot/dcim/views.py +24 -14
- nautobot/extras/api/mixins.py +1 -1
- nautobot/extras/api/views.py +2 -2
- nautobot/extras/choices.py +8 -3
- nautobot/extras/filters/__init__.py +4 -0
- nautobot/extras/jobs.py +181 -103
- nautobot/extras/management/utils.py +13 -2
- nautobot/extras/models/datasources.py +11 -4
- nautobot/extras/models/jobs.py +20 -17
- nautobot/extras/plugins/__init__.py +26 -1
- nautobot/extras/tables.py +25 -29
- nautobot/extras/templates/extras/inc/jobresult.html +12 -13
- nautobot/extras/templates/extras/objectchange.html +28 -12
- nautobot/extras/test_jobs/atomic_transaction.py +6 -6
- nautobot/extras/test_jobs/fail.py +75 -1
- nautobot/extras/tests/test_api.py +17 -16
- nautobot/extras/tests/test_datasources.py +64 -54
- nautobot/extras/tests/test_filters.py +2 -0
- nautobot/extras/tests/test_jobs.py +69 -62
- nautobot/extras/tests/test_models.py +1 -1
- nautobot/extras/tests/test_plugins.py +32 -1
- nautobot/extras/tests/test_relationships.py +5 -5
- nautobot/extras/tests/test_views.py +12 -2
- nautobot/extras/views.py +10 -1
- nautobot/ipam/api/serializers.py +7 -8
- nautobot/ipam/api/views.py +2 -2
- nautobot/ipam/factory.py +27 -8
- nautobot/ipam/filters.py +67 -29
- nautobot/ipam/formfields.py +51 -0
- nautobot/ipam/forms.py +28 -1
- nautobot/ipam/migrations/0051_added_optional_vrf_relationship_to_vdc.py +41 -0
- nautobot/ipam/models.py +63 -5
- nautobot/ipam/querysets.py +6 -0
- nautobot/ipam/tables.py +21 -7
- nautobot/ipam/templates/ipam/rir.html +1 -43
- nautobot/ipam/tests/test_api.py +107 -66
- nautobot/ipam/tests/test_filters.py +145 -5
- nautobot/ipam/tests/test_models.py +16 -0
- nautobot/ipam/tests/test_views.py +15 -2
- nautobot/ipam/urls.py +1 -21
- nautobot/ipam/views.py +24 -41
- nautobot/project-static/css/base.css +11 -0
- nautobot/project-static/css/dark.css +2 -1
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +62 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +43 -5
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +35 -0
- nautobot/project-static/docs/development/apps/api/configuration-view.html +0 -3
- nautobot/project-static/docs/development/apps/api/models/graphql.html +0 -4
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +94 -1
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +0 -3
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +0 -3
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +0 -3
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +0 -3
- nautobot/project-static/docs/development/apps/api/prometheus.html +0 -3
- nautobot/project-static/docs/development/apps/api/testing.html +0 -6
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +0 -3
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +0 -3
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +0 -3
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +0 -3
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +1 -7
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +0 -7
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +0 -4
- nautobot/project-static/docs/development/apps/api/views/notes.html +0 -3
- nautobot/project-static/docs/development/apps/index.html +2 -35
- nautobot/project-static/docs/development/apps/migration/code-updates.html +1 -1
- nautobot/project-static/docs/development/core/application-registry.html +0 -6
- nautobot/project-static/docs/development/core/best-practices.html +0 -27
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +58 -4
- nautobot/project-static/docs/development/core/getting-started.html +12 -16
- nautobot/project-static/docs/development/core/homepage.html +0 -3
- nautobot/project-static/docs/development/core/style-guide.html +0 -5
- nautobot/project-static/docs/development/core/templates.html +0 -3
- nautobot/project-static/docs/development/core/testing.html +0 -9
- nautobot/project-static/docs/development/jobs/index.html +30 -43
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/overview/application_stack.html +0 -18
- nautobot/project-static/docs/release-notes/version-2.4.html +374 -0
- nautobot/project-static/docs/requirements.txt +2 -2
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +290 -290
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +0 -10
- nautobot/project-static/docs/user-guide/administration/guides/docker.html +0 -15
- nautobot/project-static/docs/user-guide/administration/installation/index.html +0 -16
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +1 -4
- nautobot/project-static/docs/user-guide/administration/installation/services.html +0 -11
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +3 -3
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +5 -35
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/tables/v2-code-location-changes.yaml +1 -1
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +1 -1
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +0 -3
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +0 -3
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +1 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +0 -3
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +0 -3
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +1 -7
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +0 -6
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +0 -3
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +0 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +0 -8
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +3 -3
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +0 -6
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +0 -3
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +3 -15
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +0 -26
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +0 -8
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +0 -3
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +0 -8
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +0 -7
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +0 -3
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +0 -3
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +0 -14
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +0 -3
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +1 -10
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +0 -3
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +0 -14
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +0 -19
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +3 -9
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +0 -8
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +0 -4
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +1 -13
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +0 -5
- nautobot/project-static/js/editor.js +292 -0
- nautobot/project-static/monaco-editor-0.52.2/README.md +81 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/base/worker/workerMain.js +31 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/basic-languages/xml/xml.js +10 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/basic-languages/yaml/yaml.js +10 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/editor/editor.main.css +8 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/editor/editor.main.js +798 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/language/json/jsonMode.js +19 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/language/json/jsonWorker.js +42 -0
- nautobot/project-static/monaco-editor-0.52.2/vs/loader.js +11 -0
- nautobot/tenancy/filters/__init__.py +3 -5
- nautobot/tenancy/tests/test_filters.py +10 -0
- nautobot/virtualization/views.py +0 -1
- nautobot/wireless/tables.py +9 -4
- nautobot/wireless/tests/test_api.py +0 -9
- {nautobot-2.4.3.dist-info → nautobot-2.4.5.dist-info}/METADATA +4 -4
- {nautobot-2.4.3.dist-info → nautobot-2.4.5.dist-info}/RECORD +198 -186
- {nautobot-2.4.3.dist-info → nautobot-2.4.5.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.4.3.dist-info → nautobot-2.4.5.dist-info}/NOTICE +0 -0
- {nautobot-2.4.3.dist-info → nautobot-2.4.5.dist-info}/WHEEL +0 -0
- {nautobot-2.4.3.dist-info → nautobot-2.4.5.dist-info}/entry_points.txt +0 -0
|
@@ -11,7 +11,8 @@ from nautobot.core.filters import (
|
|
|
11
11
|
from nautobot.core.utils.deprecation import class_deprecated_in_favor_of
|
|
12
12
|
from nautobot.dcim.models import Device, Location, Rack, RackReservation
|
|
13
13
|
from nautobot.extras.filters import NautobotFilterSet
|
|
14
|
-
from nautobot.ipam.
|
|
14
|
+
from nautobot.ipam.filters import PrefixFilter
|
|
15
|
+
from nautobot.ipam.models import IPAddress, RouteTarget, VLAN, VRF
|
|
15
16
|
from nautobot.tenancy.filters.mixins import TenancyModelFilterSetMixin
|
|
16
17
|
from nautobot.tenancy.models import Tenant, TenantGroup
|
|
17
18
|
from nautobot.virtualization.models import Cluster, VirtualMachine
|
|
@@ -112,10 +113,7 @@ class TenantFilterSet(NautobotFilterSet):
|
|
|
112
113
|
field_name="locations",
|
|
113
114
|
label="Has locations",
|
|
114
115
|
)
|
|
115
|
-
prefixes =
|
|
116
|
-
queryset=Prefix.objects.all(),
|
|
117
|
-
label="Prefixes (ID)",
|
|
118
|
-
)
|
|
116
|
+
prefixes = PrefixFilter()
|
|
119
117
|
has_prefixes = RelatedMembershipBooleanFilter(
|
|
120
118
|
field_name="prefixes",
|
|
121
119
|
label="Has prefixes",
|
|
@@ -145,3 +145,13 @@ class TenantTestCase(FilterTestCases.FilterTestCase):
|
|
|
145
145
|
self.filterset(params, self.queryset).qs,
|
|
146
146
|
self.queryset.filter(locations__in=[self.locations[0], self.locations[1]]).distinct(),
|
|
147
147
|
)
|
|
148
|
+
|
|
149
|
+
def test_prefixes_by_string(self):
|
|
150
|
+
"""Test filtering by prefix strings as an alternative to pk."""
|
|
151
|
+
prefix = self.queryset.filter(prefixes__isnull=False).first().prefixes.first()
|
|
152
|
+
params = {"prefixes": [prefix.prefix]}
|
|
153
|
+
self.assertQuerysetEqualAndNotEmpty(
|
|
154
|
+
self.filterset(params, self.queryset).qs,
|
|
155
|
+
self.queryset.filter(prefixes__network=prefix.network, prefixes__prefix_length=prefix.prefix_length),
|
|
156
|
+
ordered=False,
|
|
157
|
+
)
|
nautobot/virtualization/views.py
CHANGED
|
@@ -306,7 +306,6 @@ class VirtualMachineView(generic.ObjectView):
|
|
|
306
306
|
# VRF assignments
|
|
307
307
|
vrf_assignments = instance.vrf_assignments.restrict(request.user, "view")
|
|
308
308
|
vrf_table = VRFDeviceAssignmentTable(vrf_assignments)
|
|
309
|
-
vrf_table.exclude = ("device", "virtual_machine")
|
|
310
309
|
|
|
311
310
|
# Software images
|
|
312
311
|
if instance.software_version is not None:
|
nautobot/wireless/tables.py
CHANGED
|
@@ -8,9 +8,14 @@ from nautobot.core.tables import (
|
|
|
8
8
|
TagColumn,
|
|
9
9
|
ToggleColumn,
|
|
10
10
|
)
|
|
11
|
-
from nautobot.dcim.models import ControllerManagedDeviceGroup
|
|
12
11
|
|
|
13
|
-
from .models import
|
|
12
|
+
from .models import (
|
|
13
|
+
ControllerManagedDeviceGroupRadioProfileAssignment,
|
|
14
|
+
ControllerManagedDeviceGroupWirelessNetworkAssignment,
|
|
15
|
+
RadioProfile,
|
|
16
|
+
SupportedDataRate,
|
|
17
|
+
WirelessNetwork,
|
|
18
|
+
)
|
|
14
19
|
|
|
15
20
|
|
|
16
21
|
class RadioProfileTable(BaseTable):
|
|
@@ -151,7 +156,7 @@ class ControllerManagedDeviceGroupWirelessNetworkAssignmentTable(BaseTable):
|
|
|
151
156
|
)
|
|
152
157
|
|
|
153
158
|
class Meta(BaseTable.Meta):
|
|
154
|
-
model =
|
|
159
|
+
model = ControllerManagedDeviceGroupWirelessNetworkAssignment
|
|
155
160
|
fields = (
|
|
156
161
|
"wireless_network",
|
|
157
162
|
"controller_managed_device_group",
|
|
@@ -204,7 +209,7 @@ class ControllerManagedDeviceGroupRadioProfileAssignmentTable(BaseTable):
|
|
|
204
209
|
regulatory_domain = tables.Column(accessor="radio_profile.regulatory_domain", verbose_name="Regulatory Domain")
|
|
205
210
|
|
|
206
211
|
class Meta(BaseTable.Meta):
|
|
207
|
-
model =
|
|
212
|
+
model = ControllerManagedDeviceGroupRadioProfileAssignment
|
|
208
213
|
fields = (
|
|
209
214
|
"radio_profile",
|
|
210
215
|
"controller_managed_device_group",
|
|
@@ -12,15 +12,6 @@ class SupportedDataRateTest(APIViewTestCases.APIViewTestCase):
|
|
|
12
12
|
|
|
13
13
|
@classmethod
|
|
14
14
|
def setUpTestData(cls):
|
|
15
|
-
models.SupportedDataRate.objects.create(
|
|
16
|
-
rate=1000, standard=choices.SupportedDataRateStandardChoices.B, mcs_index=1
|
|
17
|
-
)
|
|
18
|
-
models.SupportedDataRate.objects.create(
|
|
19
|
-
rate=6000, standard=choices.SupportedDataRateStandardChoices.G, mcs_index=2
|
|
20
|
-
)
|
|
21
|
-
models.SupportedDataRate.objects.create(
|
|
22
|
-
rate=54000, standard=choices.SupportedDataRateStandardChoices.N, mcs_index=3
|
|
23
|
-
)
|
|
24
15
|
cls.create_data = [
|
|
25
16
|
{
|
|
26
17
|
"rate": 200000,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: nautobot
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.5
|
|
4
4
|
Summary: Source of truth and network automation platform.
|
|
5
5
|
Home-page: https://nautobot.com
|
|
6
6
|
License: Apache-2.0
|
|
@@ -22,9 +22,9 @@ Provides-Extra: mysql
|
|
|
22
22
|
Provides-Extra: napalm
|
|
23
23
|
Provides-Extra: remote-storage
|
|
24
24
|
Provides-Extra: sso
|
|
25
|
-
Requires-Dist: Django (>=4.2.
|
|
25
|
+
Requires-Dist: Django (>=4.2.20,<4.3.0)
|
|
26
26
|
Requires-Dist: GitPython (>=3.1.44,<3.2.0)
|
|
27
|
-
Requires-Dist: Jinja2 (>=3.1.
|
|
27
|
+
Requires-Dist: Jinja2 (>=3.1.6,<3.2.0)
|
|
28
28
|
Requires-Dist: Markdown (>=3.6,<3.7)
|
|
29
29
|
Requires-Dist: Pillow (>=11.0.0,<11.1.0)
|
|
30
30
|
Requires-Dist: PyYAML (>=6.0.2,<6.1.0)
|
|
@@ -37,7 +37,7 @@ Requires-Dist: django-constance (>=4.3.0,<4.4.0)
|
|
|
37
37
|
Requires-Dist: django-cors-headers (>=4.4.0,<4.5.0)
|
|
38
38
|
Requires-Dist: django-db-file-storage (>=0.5.6.1,<0.6.0.0)
|
|
39
39
|
Requires-Dist: django-extensions (>=3.2.3,<3.3.0)
|
|
40
|
-
Requires-Dist: django-filter (>=
|
|
40
|
+
Requires-Dist: django-filter (>=25.1,<25.2)
|
|
41
41
|
Requires-Dist: django-health-check (>=3.18.3,<3.19.0)
|
|
42
42
|
Requires-Dist: django-jinja (>=2.11.0,<2.12.0)
|
|
43
43
|
Requires-Dist: django-prometheus (>=2.3.1,<2.4.0)
|