ipfabric_netbox 4.2.0b9__py3-none-any.whl → 4.2.1__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 ipfabric_netbox might be problematic. Click here for more details.

Files changed (31) hide show
  1. ipfabric_netbox/__init__.py +1 -1
  2. ipfabric_netbox/api/__init__.py +1 -0
  3. ipfabric_netbox/api/nested_serializers.py +78 -0
  4. ipfabric_netbox/api/serializers.py +90 -147
  5. ipfabric_netbox/api/urls.py +4 -4
  6. ipfabric_netbox/api/views.py +19 -18
  7. ipfabric_netbox/choices.py +12 -0
  8. ipfabric_netbox/filtersets.py +4 -67
  9. ipfabric_netbox/forms.py +140 -92
  10. ipfabric_netbox/models.py +10 -10
  11. ipfabric_netbox/tables.py +9 -30
  12. ipfabric_netbox/template_content.py +20 -3
  13. ipfabric_netbox/templates/ipfabric_netbox/inc/site_topology_button.html +10 -3
  14. ipfabric_netbox/templates/ipfabric_netbox/ipfabricsync_list.html +71 -0
  15. ipfabric_netbox/tests/test_models.py +11 -47
  16. ipfabric_netbox/utilities/ipfutils.py +23 -43
  17. ipfabric_netbox/views.py +8 -6
  18. {ipfabric_netbox-4.2.0b9.dist-info → ipfabric_netbox-4.2.1.dist-info}/METADATA +6 -6
  19. {ipfabric_netbox-4.2.0b9.dist-info → ipfabric_netbox-4.2.1.dist-info}/RECORD +20 -29
  20. ipfabric_netbox/graphql/__init__.py +0 -23
  21. ipfabric_netbox/graphql/enums.py +0 -35
  22. ipfabric_netbox/graphql/filters.py +0 -317
  23. ipfabric_netbox/graphql/schema.py +0 -101
  24. ipfabric_netbox/graphql/types.py +0 -216
  25. ipfabric_netbox/migrations/0016_tags_and_changelog_for_snapshots.py +0 -31
  26. ipfabric_netbox/migrations/0017_ipfabricsync_update_custom_fields.py +0 -17
  27. ipfabric_netbox/migrations/0018_remove_type_field.py +0 -17
  28. ipfabric_netbox/tests/api/__init__.py +0 -0
  29. ipfabric_netbox/tests/api/test_api.py +0 -879
  30. ipfabric_netbox/tests/test_forms.py +0 -1440
  31. {ipfabric_netbox-4.2.0b9.dist-info → ipfabric_netbox-4.2.1.dist-info}/WHEEL +0 -0
@@ -8,7 +8,6 @@ from django.test import TestCase
8
8
  from django.utils import timezone
9
9
 
10
10
  from ipfabric_netbox.choices import IPFabricSnapshotStatusModelChoices
11
- from ipfabric_netbox.models import IPFabricIngestion
12
11
  from ipfabric_netbox.models import IPFabricSnapshot
13
12
  from ipfabric_netbox.models import IPFabricSource
14
13
  from ipfabric_netbox.models import IPFabricSync
@@ -119,9 +118,9 @@ class IPFabricTransformMapModelTestCase(TestCase):
119
118
  )
120
119
  sync = IPFabricSync.objects.create(
121
120
  name="ingest",
121
+ type="dcim",
122
122
  status="new",
123
123
  snapshot_data=snapshot,
124
- update_custom_fields=True,
125
124
  parameters={
126
125
  "vrf": False,
127
126
  "site": True,
@@ -139,8 +138,6 @@ class IPFabricTransformMapModelTestCase(TestCase):
139
138
  },
140
139
  )
141
140
 
142
- ingestion = IPFabricIngestion.objects.create(sync=sync)
143
-
144
141
  runner = IPFabricSyncRunner(
145
142
  settings={
146
143
  "site": True,
@@ -155,11 +152,7 @@ class IPFabricTransformMapModelTestCase(TestCase):
155
152
  "snapshot_id": "12dd8c61-129c-431a-b98b-4c9211571f89",
156
153
  },
157
154
  sync=sync,
158
- ingestion=ingestion,
159
155
  )
160
- # Need to monkeypatch since we are not in active Branch (different schema)
161
- # Using default schema "default" here since we are in "test_netbox" DB
162
- runner.get_db_connection_name = lambda: "default"
163
156
 
164
157
  site_data = {
165
158
  "siteName": "MPLS",
@@ -173,9 +166,7 @@ class IPFabricTransformMapModelTestCase(TestCase):
173
166
  "networksCount": 6,
174
167
  }
175
168
 
176
- self.site = runner.sync_item(
177
- item=site_data, app_label="dcim", model="site", cf=sync.update_custom_fields
178
- )
169
+ self.site = runner.get_model_or_update("dcim", "site", site_data)
179
170
 
180
171
  device_data = {
181
172
  "id": "961251111",
@@ -213,36 +204,14 @@ class IPFabricTransformMapModelTestCase(TestCase):
213
204
  "slug": None,
214
205
  }
215
206
 
216
- self.mf_obj = runner.sync_item(
217
- item=device_data,
218
- app_label="dcim",
219
- model="manufacturer",
220
- cf=sync.update_custom_fields,
221
- )
222
- self.dt_obj = runner.sync_item(
223
- item=device_data,
224
- app_label="dcim",
225
- model="devicetype",
226
- cf=sync.update_custom_fields,
227
- )
228
- self.platform = runner.sync_item(
229
- item=device_data,
230
- app_label="dcim",
231
- model="platform",
232
- cf=sync.update_custom_fields,
233
- )
234
- self.role = runner.sync_item(
235
- item=device_data,
236
- app_label="dcim",
237
- model="devicerole",
238
- cf=sync.update_custom_fields,
239
- )
240
- self.device_object = runner.sync_item(
241
- item=device_data,
242
- app_label="dcim",
243
- model="device",
244
- cf=sync.update_custom_fields,
245
- )
207
+ self.mf_obj = runner.get_model_or_update("dcim", "manufacturer", device_data)
208
+ self.dt_obj = runner.get_model_or_update("dcim", "devicetype", device_data)
209
+
210
+ self.platform = runner.get_model_or_update("dcim", "platform", device_data)
211
+
212
+ self.role = runner.get_model_or_update("dcim", "devicerole", device_data)
213
+
214
+ self.device_object = runner.get_model_or_update("dcim", "device", device_data)
246
215
 
247
216
  def test_transform_map(self):
248
217
  site_transform_map = IPFabricTransformMap.objects.get(name="Site Transform Map")
@@ -414,10 +383,5 @@ class IPFabricTransformMapModelTestCase(TestCase):
414
383
  )
415
384
  transform_field.template = "{{ object.hostname }} - test"
416
385
  transform_field.save()
417
- device_object = runner.sync_item(
418
- item=device_data,
419
- app_label="dcim",
420
- model="device",
421
- cf=sync.update_custom_fields,
422
- )
386
+ device_object = runner.get_model_or_update("dcim", "device", device_data)
423
387
  self.assertEqual(device_object.name, "L21PE152 - test")
@@ -589,35 +589,6 @@ class IPFabricSyncRunner(object):
589
589
 
590
590
  return instance
591
591
 
592
- def sync_item(
593
- self,
594
- item,
595
- app_label: str,
596
- model: str,
597
- cf: bool = False,
598
- ingestion: "IPFabricIngestion" = None,
599
- ) -> ModelTypeVar | None:
600
- """Sync a single item to NetBox."""
601
- synced_object = self.sync_model(
602
- app_label=app_label,
603
- model=model,
604
- data=item,
605
- sync=self.settings.get(model),
606
- )
607
- if synced_object is None:
608
- return None
609
-
610
- if cf:
611
- synced_object.snapshot()
612
- synced_object.custom_field_data[
613
- "ipfabric_source"
614
- ] = self.sync.snapshot_data.source.pk
615
- if ingestion:
616
- synced_object.custom_field_data["ipfabric_ingestion"] = ingestion.pk
617
- synced_object.save()
618
-
619
- return synced_object
620
-
621
592
  def sync_items(
622
593
  self,
623
594
  items,
@@ -634,7 +605,23 @@ class IPFabricSyncRunner(object):
634
605
  return
635
606
 
636
607
  for item in items:
637
- self.sync_item(item, app_label, model, cf, ingestion)
608
+ synced_object = self.sync_model(
609
+ app_label=app_label,
610
+ model=model,
611
+ data=item,
612
+ sync=self.settings.get(model),
613
+ )
614
+ if synced_object is None:
615
+ continue
616
+
617
+ if cf:
618
+ synced_object.snapshot()
619
+ synced_object.custom_field_data[
620
+ "ipfabric_source"
621
+ ] = self.sync.snapshot_data.source.pk
622
+ if ingestion:
623
+ synced_object.custom_field_data["ipfabric_ingestion"] = ingestion.pk
624
+ synced_object.save()
638
625
 
639
626
  @handle_errors
640
627
  def sync_devices(
@@ -697,14 +684,11 @@ class IPFabricSyncRunner(object):
697
684
 
698
685
  if device_object and self.settings.get("device"):
699
686
  device_object.snapshot()
700
- if self.sync.update_custom_fields:
701
- device_object.custom_field_data[
702
- "ipfabric_source"
703
- ] = self.sync.snapshot_data.source.pk
704
- if ingestion:
705
- device_object.custom_field_data[
706
- "ipfabric_ingestion"
707
- ] = ingestion.pk
687
+ device_object.custom_field_data[
688
+ "ipfabric_source"
689
+ ] = self.sync.snapshot_data.source.pk
690
+ if ingestion:
691
+ device_object.custom_field_data["ipfabric_ingestion"] = ingestion.pk
708
692
  device_object.save()
709
693
 
710
694
  self.logger.increment_statistics(model="device")
@@ -845,11 +829,7 @@ class IPFabricSyncRunner(object):
845
829
  ) = self.collect_data()
846
830
 
847
831
  self.sync_items(
848
- app_label="dcim",
849
- model="site",
850
- items=sites,
851
- cf=self.sync.update_custom_fields,
852
- ingestion=ingestion,
832
+ app_label="dcim", model="site", items=sites, cf=True, ingestion=ingestion
853
833
  )
854
834
  self.sync_devices(
855
835
  ingestion,
ipfabric_netbox/views.py CHANGED
@@ -37,7 +37,6 @@ from .filtersets import IPFabricIngestionFilterSet
37
37
  from .filtersets import IPFabricIngestionIssueFilterSet
38
38
  from .filtersets import IPFabricSnapshotFilterSet
39
39
  from .filtersets import IPFabricSourceFilterSet
40
- from .filtersets import IPFabricSyncFilterSet
41
40
  from .filtersets import IPFabricTransformMapFilterSet
42
41
  from .filtersets import IPFabricTransformMapGroupFilterSet
43
42
  from .forms import IPFabricIngestionFilterForm
@@ -70,7 +69,6 @@ from .tables import IPFabricIngestionTable
70
69
  from .tables import IPFabricRelationshipFieldTable
71
70
  from .tables import IPFabricSnapshotTable
72
71
  from .tables import IPFabricSourceTable
73
- from .tables import IPFabricSyncTable
74
72
  from .tables import IPFabricTransformFieldTable
75
73
  from .tables import IPFabricTransformMapGroupTable
76
74
  from .tables import IPFabricTransformMapTable
@@ -530,10 +528,14 @@ class IPFabricSourceBulkDeleteView(generic.BulkDeleteView):
530
528
 
531
529
 
532
530
  # Sync
533
- class IPFabricSyncListView(generic.ObjectListView):
534
- queryset = IPFabricSync.objects.all()
535
- table = IPFabricSyncTable
536
- filterset = IPFabricSyncFilterSet
531
+ class IPFabricSyncListView(View):
532
+ def get(self, request):
533
+ syncs = IPFabricSync.objects.prefetch_related("snapshot_data")
534
+ return render(
535
+ request,
536
+ "ipfabric_netbox/ipfabricsync_list.html",
537
+ {"model": IPFabricSync, "syncs": syncs},
538
+ )
537
539
 
538
540
 
539
541
  @register_model_view(IPFabricSync, "edit")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ipfabric_netbox
3
- Version: 4.2.0b9
3
+ Version: 4.2.1
4
4
  Summary: NetBox plugin to sync IP Fabric data into NetBox
5
5
  License: MIT
6
6
  Keywords: netbox,ipfabric,plugin,sync
@@ -18,11 +18,11 @@ Provides-Extra: ipfabric-6-10
18
18
  Provides-Extra: ipfabric-7-0
19
19
  Provides-Extra: ipfabric-7-2
20
20
  Provides-Extra: ipfabric-7-3
21
- Requires-Dist: ipfabric (>=6.10.0,<6.11.0) ; extra == "ipfabric_6_10" and extra != "ipfabric_7_0" and extra != "ipfabric_7_2" and extra != "ipfabric_7_3"
22
- Requires-Dist: ipfabric (>=6.6.4) ; extra != "ipfabric_6_10" and extra != "ipfabric_7_0" and extra != "ipfabric_7_2" and extra != "ipfabric_7_3"
23
- Requires-Dist: ipfabric (>=7.0.0,<7.1.0) ; extra != "ipfabric_6_10" and extra == "ipfabric_7_0" and extra != "ipfabric_7_2" and extra != "ipfabric_7_3"
24
- Requires-Dist: ipfabric (>=7.2.0,<7.3.0) ; extra != "ipfabric_6_10" and extra != "ipfabric_7_0" and extra == "ipfabric_7_2" and extra != "ipfabric_7_3"
25
- Requires-Dist: ipfabric (>=7.3.0,<7.4.0) ; extra != "ipfabric_6_10" and extra != "ipfabric_7_0" and extra != "ipfabric_7_2" and extra == "ipfabric_7_3"
21
+ Requires-Dist: ipfabric (>=6.10.0,<6.11.0) ; extra == "ipfabric_6_10" and extra != "ipfabric_7_0" and extra != "ipfabric_7_2"
22
+ Requires-Dist: ipfabric (>=6.6.4) ; extra != "ipfabric_6_10" and extra != "ipfabric_7_0" and extra != "ipfabric_7_2"
23
+ Requires-Dist: ipfabric (>=7.0.0,<7.1.0) ; extra != "ipfabric_6_10" and extra == "ipfabric_7_0" and extra != "ipfabric_7_2"
24
+ Requires-Dist: ipfabric (>=7.2.0,<7.3.0) ; extra == "ipfabric-6-10" or extra == "ipfabric-7-0" or extra == "ipfabric-7-2" or extra == "ipfabric-7-3"
25
+ Requires-Dist: ipfabric (>=7.3.0,<7.4.0) ; extra == "ipfabric-6-10" or extra == "ipfabric-7-0" or extra == "ipfabric-7-2" or extra == "ipfabric-7-3"
26
26
  Requires-Dist: netboxlabs-netbox-branching (>=0.5.5,<0.6.0)
27
27
  Requires-Dist: netutils
28
28
  Project-URL: Bug Tracker, https://gitlab.com/ip-fabric/integrations/ipfabric-netbox-sync/-/issues
@@ -1,18 +1,14 @@
1
- ipfabric_netbox/__init__.py,sha256=DZlbtM-vuPR_pbH3EUldapH1UJSm8qq0Utiy4Rl-cKw,674
2
- ipfabric_netbox/api/__init__.py,sha256=XRclTGWVR0ZhAAwgYul5Wm_loug5_hUjEumbLQEwKYM,47
3
- ipfabric_netbox/api/serializers.py,sha256=7cmVsIzGzz9u6htLKizLr2Ar0OC7uV8rMX3U7EzRmG4,6482
4
- ipfabric_netbox/api/urls.py,sha256=1fXXVTxNY5E64Nfz6b7zXD9bZI3FcefuxAWKMe0w_QU,1240
5
- ipfabric_netbox/api/views.py,sha256=gluK311fDx3sLsQ6iE6O1M_s3Kz1_sjD0sfmWR_UE2Q,5064
6
- ipfabric_netbox/choices.py,sha256=27ePh1IUU3zETbceNcAgjsHvqhPlGpayFRFr5luqW1k,5039
1
+ ipfabric_netbox/__init__.py,sha256=erLnFE9PlQ4VNV4hPejXWHNpdb-d7aGr9ZW-SLtSVw4,672
2
+ ipfabric_netbox/api/__init__.py,sha256=DOkvDAI4BoNgdCiNxfseeExEHyOrK8weG-LvjPRyK8A,101
3
+ ipfabric_netbox/api/nested_serializers.py,sha256=dG9YdK6wY6dDEvUWsjzsla-J_GnB5szzDjrcZhdWoEg,2124
4
+ ipfabric_netbox/api/serializers.py,sha256=KihGDzoYTM9M9lrU0uUQPFl3ru7t59MuIebBdQe_DhY,5130
5
+ ipfabric_netbox/api/urls.py,sha256=oZuDEJ6C7dpz8c9J3aJGi1CBSAij8Y4ClLa3Lu5AWk0,1236
6
+ ipfabric_netbox/api/views.py,sha256=j-5-t22519p-4iJxx6PwUNaJumdweIHCdUkYKijiTyI,5041
7
+ ipfabric_netbox/choices.py,sha256=tQ5RHwmuArQ7dCLcE3A_Bnw2ctGHgw67z--AawyyPPg,5261
7
8
  ipfabric_netbox/data/transform_map.json,sha256=4PsucgMHcLW3SPoKEptQCd0gA5tCF4hjrR4bGQFCWy8,21744
8
9
  ipfabric_netbox/exceptions.py,sha256=DT4dpbakvqoROtBR_F0LzvQCMNWpGhufFcUbZTx0OLY,2655
9
- ipfabric_netbox/filtersets.py,sha256=vaWlxf8DTwduv_aQ35kJxwyzmM1XvE781GjUj2z4QGQ,7845
10
- ipfabric_netbox/forms.py,sha256=8xKVE_MneFKCILPGDrfEIskGD1BjCoH9UtrteOSSihU,42939
11
- ipfabric_netbox/graphql/__init__.py,sha256=-a5w_VY7pc-RVt8MvThkTzeAqCC3xCan4Ue6iMefmjI,754
12
- ipfabric_netbox/graphql/enums.py,sha256=QFhwiwUKJekxQfsOGk_-70_WnkzrKEP_zIBMrin0S0Q,1343
13
- ipfabric_netbox/graphql/filters.py,sha256=B8xy9r9a18vWfV6a6tHXAN1FUcoxI6MOrbsdNmzusNI,12991
14
- ipfabric_netbox/graphql/schema.py,sha256=5UVHA1hHRvho5eLuuS-HLXTVTbxpUUx68ovG03gumGE,3209
15
- ipfabric_netbox/graphql/types.py,sha256=8RxdxiA-WnoaWSzh-tUJCuZBYGmd6QjfJiJcLirRMKY,5961
10
+ ipfabric_netbox/filtersets.py,sha256=unVb64gR_m5oMRo1nP4yWrcogMRvfnzVQRmna6-9fKw,6121
11
+ ipfabric_netbox/forms.py,sha256=07p_vngzsnHG0aev83JqBhb8fSBts0w-MTKu4BuoNLw,44494
16
12
  ipfabric_netbox/jobs.py,sha256=KrTUeCuFUIU7vKCUS3RiBYCBG7g7GzhGagM_qFMGQJ4,3089
17
13
  ipfabric_netbox/migrations/0001_initial.py,sha256=VphxkWL6QzWq2tcrdXlog718xQtiEGizKwS830z_fOs,13824
18
14
  ipfabric_netbox/migrations/0001_initial_squashed_0013_switch_to_branching_plugin.py,sha256=xDj5QJfTmG7ZgUSTRiJRndjSOv25dORtzzs-LySbr-c,20874
@@ -30,21 +26,18 @@ ipfabric_netbox/migrations/0012_remove_status_field.py,sha256=UZTY2BOBuV4Y_7zuPR
30
26
  ipfabric_netbox/migrations/0013_switch_to_branching_plugin.py,sha256=JfdTNerjuFyjW3pDm4vueOp2lrDh2xt6lL1Et5i4crg,10754
31
27
  ipfabric_netbox/migrations/0014_ipfabrictransformmapgroup_ipfabrictransformmap_group.py,sha256=RCfgKyqQhTkfSPhf0IukI3fjeAEBUs5pKWIpsLxgzp0,2272
32
28
  ipfabric_netbox/migrations/0015_ipfabricingestionissue.py,sha256=AjAkyboa4BSXsN53BqzO1k_U6QHu4rlA2IhzhubocJw,1732
33
- ipfabric_netbox/migrations/0016_tags_and_changelog_for_snapshots.py,sha256=XqftTQ4GFnoCoGSHPa2WL_bjSVCGxdP2MFXCUa6LN1k,929
34
- ipfabric_netbox/migrations/0017_ipfabricsync_update_custom_fields.py,sha256=IVbAL2WdigYT40sXN0A8K3HweJ_O4QqyzjB06TbkG5E,447
35
- ipfabric_netbox/migrations/0018_remove_type_field.py,sha256=ffxW6IS3BLCbvM5M9DbDb_x6spMmRxnV1iq8IuXxMGw,385
36
29
  ipfabric_netbox/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
- ipfabric_netbox/models.py,sha256=T2VOnlKyWkYpwnsGkkgt5-zwvVbxT1eqTnEfCvTV5jc,36072
30
+ ipfabric_netbox/models.py,sha256=CXRMO1nKlcVz_R9WbTjQ0FWsXe1C6ZHIEoRhavI8Jyo,36067
38
31
  ipfabric_netbox/navigation.py,sha256=2dEJ_wKHb52Tl0FOV1TH3JbxRe8YZ56ewrTsBFGKpCg,2210
39
32
  ipfabric_netbox/signals.py,sha256=cGa5PVD2i24pGXiVNfbu6ruIDqPVdwKQHTSWe9Ura84,1838
40
- ipfabric_netbox/tables.py,sha256=zJUCoOrJgBNVxOmQrvlUyoD_0_Kq988GjregdcSAa68,8854
41
- ipfabric_netbox/template_content.py,sha256=bP2nUf5MM-GUbtQxJ8QoYVNXhrDCrkb8wZnbeqa07EA,315
33
+ ipfabric_netbox/tables.py,sha256=pHKv6Bosjnc-7aApak3nLhzxqBiA30olPdaMO8F1PQg,8262
34
+ ipfabric_netbox/template_content.py,sha256=ZT0uxqaC-Xnvrvm3nr89P9r43vsIuie3xcXIuT0UCN0,959
42
35
  ipfabric_netbox/templates/ipfabric_netbox/inc/clone_form.html,sha256=K-2TTDaS1F4wUIR8FFFPqex4KJbySXtHiz5V-OEwelY,967
43
36
  ipfabric_netbox/templates/ipfabric_netbox/inc/diff.html,sha256=xOiIrvRIBtqDD65u6xcLo2xdwDKNpAylDmzznaJRGCw,3281
44
37
  ipfabric_netbox/templates/ipfabric_netbox/inc/json.html,sha256=qPHUdaHyKM9Y7FqBEnYwcNoyp5GMFaexJFXMRf4AqZQ,569
45
38
  ipfabric_netbox/templates/ipfabric_netbox/inc/logs_pending.html,sha256=JbS6wIE_zb0iBKo78W9Al8caXZY7HnsjEFDhY0hirw0,295
46
39
  ipfabric_netbox/templates/ipfabric_netbox/inc/merge_form.html,sha256=HxGRk7oTptDWtoMklJ5TolbljZrvAzhZa_Hbjs75P8w,720
47
- ipfabric_netbox/templates/ipfabric_netbox/inc/site_topology_button.html,sha256=N5T6HXDpKN2qf9UP3F870wpLwSHghYgoqhLRZhOuWG0,2684
40
+ ipfabric_netbox/templates/ipfabric_netbox/inc/site_topology_button.html,sha256=0YOvokuo2ZbR48odRkCcEssWBIxwCGwpsWom38_l-FA,2806
48
41
  ipfabric_netbox/templates/ipfabric_netbox/inc/site_topology_modal.html,sha256=zjG5qjth277dnVkzyg8qxs72wtKZ8yypXRTXqral4Wk,2124
49
42
  ipfabric_netbox/templates/ipfabric_netbox/inc/snapshotdata.html,sha256=1ItOCPjjp9iH7MLNLIz6x-2NnSa0Wx4bXUYVk-Jn4Y0,2885
50
43
  ipfabric_netbox/templates/ipfabric_netbox/inc/transform_map_field_map.html,sha256=mRU-rBweVFvaPFHbVYPw7vcYyXiVaXCOkeHm7xWdKPA,500
@@ -54,6 +47,7 @@ ipfabric_netbox/templates/ipfabric_netbox/ipfabricingestion.html,sha256=fm_X2FLn
54
47
  ipfabric_netbox/templates/ipfabric_netbox/ipfabricsnapshot.html,sha256=hj8ORs_4mM_xTjmw3McHN-da5seC8nbbkzobn0f1TSc,3482
55
48
  ipfabric_netbox/templates/ipfabric_netbox/ipfabricsource.html,sha256=koR_t6Mf2FhWlPZHchWsTOQDSLB7AWrqtY0TRnIzrrM,3864
56
49
  ipfabric_netbox/templates/ipfabric_netbox/ipfabricsync.html,sha256=BicVS7mCP85fFZJEt46GUm5xppi1Jw3byw1el9BB2WE,4448
50
+ ipfabric_netbox/templates/ipfabric_netbox/ipfabricsync_list.html,sha256=b6uE317N69oeknOOqnJo5I-qm44QezDlBTRqslbEO8I,2593
57
51
  ipfabric_netbox/templates/ipfabric_netbox/ipfabrictransformmap.html,sha256=qFo_Ku5oksx5co4HVtVq0xAVFI6CLWs-iBrwYzGsEGA,1460
58
52
  ipfabric_netbox/templates/ipfabric_netbox/ipfabrictransformmap_list.html,sha256=p8zqn0-B6mawSUM3zQrus6dsKUM5SRBTO0X94pLboX8,452
59
53
  ipfabric_netbox/templates/ipfabric_netbox/ipfabrictransformmap_restore.html,sha256=cuvOBKnlMudMI-CX77W3vTpwhtc4CBcc6j6Ye-IBBMQ,2562
@@ -69,17 +63,14 @@ ipfabric_netbox/templates/static/ipfabric_netbox/css/rack.css,sha256=z1H-RmmsqF2
69
63
  ipfabric_netbox/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
64
  ipfabric_netbox/templatetags/ipfabric_netbox_helpers.py,sha256=STw4pAd2qG7hgf-O6UNTwsO5VqEa_gxf5wLv50BWL4Q,417
71
65
  ipfabric_netbox/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
- ipfabric_netbox/tests/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
- ipfabric_netbox/tests/api/test_api.py,sha256=mZp0CUBJb0MUcnfKAWWrQ4Kab11OXtSI9XQtMZ4q40U,30282
74
- ipfabric_netbox/tests/test_forms.py,sha256=8sW0MHu2MtCDVHoaKM78U1_GioLjQk6UIvgN2Vijvv4,57518
75
- ipfabric_netbox/tests/test_models.py,sha256=FFrIT5xxv_yvujKpxGjRJPNPBDF2Pqi8zbY0vxuJeQs,16043
66
+ ipfabric_netbox/tests/test_models.py,sha256=4SGMX0LZ_fThkc-F1AMZIQbpmJvQNVFnS6QYZpIZkNA,14998
76
67
  ipfabric_netbox/urls.py,sha256=ok66LP09rYi01qJmwdGGlBzV9wrGWVwVAIngPcreJxg,5449
77
68
  ipfabric_netbox/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
- ipfabric_netbox/utilities/ipfutils.py,sha256=wFmL5oriuF-is1ZlrIcLmoeYUY5ih-CA9weRQrx5AiA,31885
69
+ ipfabric_netbox/utilities/ipfutils.py,sha256=4W6fYuguvVdhNlWok-dTUhI0M4CK7hrBiMcLAtPuKIQ,31411
79
70
  ipfabric_netbox/utilities/logging.py,sha256=GYknjocMN6LQ2873_az3y0RKm29TCXaWviUIIneH-x0,3445
80
71
  ipfabric_netbox/utilities/nbutils.py,sha256=kFBEiJOGvr_49hJWCS2duXojx2-A9kVk0Xp_vj0ohfs,2641
81
72
  ipfabric_netbox/utilities/transform_map.py,sha256=QotbGc2TksINJrb62STgAigpC5Nsgi5umYHu_0rZd8k,2204
82
- ipfabric_netbox/views.py,sha256=W7By73eiopwX-Q10S4kcFVL-lkz0WG0pwe2doNpvYg0,36807
83
- ipfabric_netbox-4.2.0b9.dist-info/METADATA,sha256=zq7D8wC26Z5QiKLvt6LDuO0cv3mBxG18q-7427xsMH8,4638
84
- ipfabric_netbox-4.2.0b9.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
85
- ipfabric_netbox-4.2.0b9.dist-info/RECORD,,
73
+ ipfabric_netbox/views.py,sha256=nGWO-PlTyKviBzGEdmE3C_1I-xFjZMldqOWGx12wdbg,36855
74
+ ipfabric_netbox-4.2.1.dist-info/METADATA,sha256=o5W_WBLgEreTbPQkUtBALyGm6t_qSaC9EnKudFtBG1Y,4546
75
+ ipfabric_netbox-4.2.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
76
+ ipfabric_netbox-4.2.1.dist-info/RECORD,,
@@ -1,23 +0,0 @@
1
- from .schema import IPFabricDataQuery
2
- from .schema import IPFabricIngestionIssueQuery
3
- from .schema import IPFabricIngestionQuery
4
- from .schema import IPFabricRelationshipFieldQuery
5
- from .schema import IPFabricSnapshotQuery
6
- from .schema import IPFabricSourceQuery
7
- from .schema import IPFabricSyncQuery
8
- from .schema import IPFabricTransformFieldQuery
9
- from .schema import IPFabricTransformMapGroupQuery
10
- from .schema import IPFabricTransformMapQuery
11
-
12
- schema = [
13
- IPFabricTransformMapGroupQuery,
14
- IPFabricTransformMapQuery,
15
- IPFabricTransformFieldQuery,
16
- IPFabricRelationshipFieldQuery,
17
- IPFabricSourceQuery,
18
- IPFabricSnapshotQuery,
19
- IPFabricSyncQuery,
20
- IPFabricIngestionQuery,
21
- IPFabricIngestionIssueQuery,
22
- IPFabricDataQuery,
23
- ]
@@ -1,35 +0,0 @@
1
- import strawberry
2
- from core.choices import DataSourceStatusChoices
3
- from core.choices import JobStatusChoices
4
- from netbox_branching.choices import BranchStatusChoices
5
-
6
- from ipfabric_netbox.choices import IPFabricRawDataTypeChoices
7
- from ipfabric_netbox.choices import IPFabricSnapshotStatusModelChoices
8
- from ipfabric_netbox.choices import IPFabricSourceTypeChoices
9
- from ipfabric_netbox.choices import IPFabricTransformMapSourceModelChoices
10
-
11
- __all__ = (
12
- "DataSourceStatusEnum",
13
- "IPFabricTransformMapSourceModelEnum",
14
- "IPFabricSourceTypeEnum",
15
- "IPFabricSnapshotStatusModelEnum",
16
- "IPFabricRawDataTypeEnum",
17
- "BranchStatusEnum",
18
- "JobStatusEnum",
19
- )
20
-
21
- DataSourceStatusEnum = strawberry.enum(DataSourceStatusChoices.as_enum(prefix="type"))
22
- IPFabricTransformMapSourceModelEnum = strawberry.enum(
23
- IPFabricTransformMapSourceModelChoices.as_enum(prefix="type")
24
- )
25
- IPFabricSourceTypeEnum = strawberry.enum(
26
- IPFabricSourceTypeChoices.as_enum(prefix="type")
27
- )
28
- IPFabricSnapshotStatusModelEnum = strawberry.enum(
29
- IPFabricSnapshotStatusModelChoices.as_enum(prefix="type")
30
- )
31
- IPFabricRawDataTypeEnum = strawberry.enum(
32
- IPFabricRawDataTypeChoices.as_enum(prefix="type")
33
- )
34
- BranchStatusEnum = strawberry.enum(BranchStatusChoices.as_enum(prefix="type"))
35
- JobStatusEnum = strawberry.enum(JobStatusChoices.as_enum(prefix="type"))