ipfabric_netbox 4.3.2b2__tar.gz → 4.3.2b4__tar.gz

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 (88) hide show
  1. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/PKG-INFO +1 -1
  2. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/__init__.py +1 -1
  3. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/tables.py +16 -6
  4. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/inc/diff.html +7 -7
  5. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/ipfabricsnapshot.html +1 -1
  6. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/views.py +11 -1
  7. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/pyproject.toml +1 -1
  8. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/README.md +0 -0
  9. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/api/__init__.py +0 -0
  10. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/api/serializers.py +0 -0
  11. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/api/urls.py +0 -0
  12. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/api/views.py +0 -0
  13. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/choices.py +0 -0
  14. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/data/transform_map.json +0 -0
  15. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/exceptions.py +0 -0
  16. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/filtersets.py +0 -0
  17. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/forms.py +0 -0
  18. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/graphql/__init__.py +0 -0
  19. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/graphql/enums.py +0 -0
  20. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/graphql/filters.py +0 -0
  21. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/graphql/schema.py +0 -0
  22. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/graphql/types.py +0 -0
  23. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/jobs.py +0 -0
  24. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0001_initial.py +0 -0
  25. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0001_initial_squashed_0013_switch_to_branching_plugin.py +0 -0
  26. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0002_ipfabricsnapshot_status.py +0 -0
  27. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0003_ipfabricsource_type_and_more.py +0 -0
  28. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0004_ipfabricsync_auto_merge.py +0 -0
  29. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0005_alter_ipfabricrelationshipfield_source_model_and_more.py +0 -0
  30. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0006_alter_ipfabrictransformmap_target_model.py +0 -0
  31. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0007_prepare_custom_fields.py +0 -0
  32. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0008_prepare_transform_maps.py +0 -0
  33. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0009_transformmap_changes_for_netbox_v4_2.py +0 -0
  34. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0010_remove_uuid_from_get_or_create.py +0 -0
  35. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0011_update_part_number_DCIM_inventory_item_template.py +0 -0
  36. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0012_remove_status_field.py +0 -0
  37. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0013_switch_to_branching_plugin.py +0 -0
  38. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0014_ipfabrictransformmapgroup_ipfabrictransformmap_group.py +0 -0
  39. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0015_ipfabricingestionissue.py +0 -0
  40. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0016_tags_and_changelog_for_snapshots.py +0 -0
  41. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0017_ipfabricsync_update_custom_fields.py +0 -0
  42. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0018_remove_type_field.py +0 -0
  43. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0019_alter_ipfabrictransformmap_options_and_more.py +0 -0
  44. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0020_clean_scheduled_jobs.py +0 -0
  45. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/0021_update_transform_maps.py +0 -0
  46. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/migrations/__init__.py +0 -0
  47. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/models.py +0 -0
  48. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/navigation.py +0 -0
  49. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/signals.py +0 -0
  50. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/template_content.py +0 -0
  51. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/inc/clone_form.html +0 -0
  52. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/inc/json.html +0 -0
  53. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/inc/logs_pending.html +0 -0
  54. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/inc/merge_form.html +0 -0
  55. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/inc/site_topology_button.html +0 -0
  56. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/inc/site_topology_modal.html +0 -0
  57. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/inc/snapshotdata.html +0 -0
  58. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/inc/transform_map_field_map.html +0 -0
  59. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/inc/transform_map_relationship_map.html +0 -0
  60. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/ipfabric_table.html +0 -0
  61. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/ipfabricingestion.html +0 -0
  62. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/ipfabricsource.html +0 -0
  63. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/ipfabricsync.html +0 -0
  64. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/ipfabrictransformmap.html +0 -0
  65. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/ipfabrictransformmap_list.html +0 -0
  66. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/ipfabrictransformmap_restore.html +0 -0
  67. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/ipfabrictransformmapgroup.html +0 -0
  68. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/partials/ingestion_all.html +0 -0
  69. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/partials/ingestion_progress.html +0 -0
  70. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/partials/ingestion_statistics.html +0 -0
  71. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/partials/ingestion_status.html +0 -0
  72. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/partials/job_logs.html +0 -0
  73. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/partials/object_tabs.html +0 -0
  74. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/ipfabric_netbox/partials/sync_last_ingestion.html +0 -0
  75. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templates/static/ipfabric_netbox/css/rack.css +0 -0
  76. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templatetags/__init__.py +0 -0
  77. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/templatetags/ipfabric_netbox_helpers.py +0 -0
  78. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/tests/__init__.py +0 -0
  79. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/tests/api/__init__.py +0 -0
  80. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/tests/api/test_api.py +0 -0
  81. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/tests/test_forms.py +0 -0
  82. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/tests/test_models.py +0 -0
  83. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/tests/test_views.py +0 -0
  84. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/urls.py +0 -0
  85. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/utilities/__init__.py +0 -0
  86. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/utilities/ipfutils.py +0 -0
  87. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/utilities/logging.py +0 -0
  88. {ipfabric_netbox-4.3.2b2 → ipfabric_netbox-4.3.2b4}/ipfabric_netbox/utilities/transform_map.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ipfabric_netbox
3
- Version: 4.3.2b2
3
+ Version: 4.3.2b4
4
4
  Summary: NetBox plugin to sync IP Fabric data into NetBox
5
5
  License: MIT
6
6
  Keywords: netbox,ipfabric,plugin,sync
@@ -6,7 +6,7 @@ class NetboxIPFabricConfig(PluginConfig):
6
6
  name = "ipfabric_netbox"
7
7
  verbose_name = "NetBox IP Fabric SoT Plugin"
8
8
  description = "Sync IP Fabric into NetBox"
9
- version = "4.3.2b2"
9
+ version = "4.3.2b4"
10
10
  base_url = "ipfabric"
11
11
  min_version = "4.4.0"
12
12
 
@@ -89,7 +89,7 @@ class IPFabricTransformMapTable(NetBoxTable):
89
89
 
90
90
 
91
91
  class IPFabricIngestionTable(NetBoxTable):
92
- name = tables.Column(linkify=True)
92
+ name = tables.Column(linkify=True, order_by=("branch_name", "sync_name", "id"))
93
93
  sync = tables.Column(verbose_name=_("IP Fabric Sync"), linkify=True)
94
94
  branch = tables.Column(linkify=True)
95
95
  changes = tables.Column(
@@ -97,6 +97,14 @@ class IPFabricIngestionTable(NetBoxTable):
97
97
  )
98
98
  actions = columns.ActionsColumn(actions=("delete",))
99
99
 
100
+ def render_name(self, record):
101
+ if getattr(record, "branch_name", None):
102
+ return record.branch_name
103
+ elif getattr(record, "sync_name", None):
104
+ return f"{record.sync_name} (Ingestion {record.pk})"
105
+ else:
106
+ return f"Ingestion {record.pk} (No Sync)"
107
+
100
108
  class Meta(NetBoxTable.Meta):
101
109
  model = IPFabricIngestion
102
110
  fields = ("name", "sync", "branch", "description", "user", "changes")
@@ -158,6 +166,7 @@ class IPFabricSyncTable(NetBoxTable):
158
166
  accessor="last_ingestion",
159
167
  verbose_name=_("Last Ingestion"),
160
168
  linkify=True,
169
+ order_by="last_ingestion_pk",
161
170
  )
162
171
 
163
172
  def render_last_ingestion(self, value: IPFabricIngestion):
@@ -190,8 +199,9 @@ class IPFabricIngestionChangesTable(NetBoxTable):
190
199
  object_type = tables.Column(
191
200
  accessor="object_type.model", verbose_name=_("Object Type")
192
201
  )
193
- object = tables.Column(verbose_name=_("Object"))
194
- actions = columns.TemplateColumn(template_code=DIFF_BUTTON)
202
+ object = tables.Column(verbose_name=_("Object"), order_by="object_repr")
203
+ actions = None
204
+ diffs = columns.TemplateColumn(template_code=DIFF_BUTTON, orderable=False)
195
205
 
196
206
  def render_object(self, value, record):
197
207
  model_templates = {
@@ -213,7 +223,7 @@ class IPFabricIngestionChangesTable(NetBoxTable):
213
223
  if value and (class_name := value.__class__.__name__) in model_templates:
214
224
  field_value = model_templates[class_name](value)
215
225
  if url := value.get_absolute_url():
216
- return format_html("<a href={}>{}</a>", url, field_value)
226
+ return format_html("<a href='{}'>{}</a>", url, field_value)
217
227
  else:
218
228
  field_value = record.object_repr
219
229
  return field_value
@@ -221,8 +231,8 @@ class IPFabricIngestionChangesTable(NetBoxTable):
221
231
  class Meta(NetBoxTable.Meta):
222
232
  model = ChangeDiff
223
233
  name = "staged_changes"
224
- fields = ("object", "action", "object_type", "actions")
225
- default_columns = ("object", "action", "object_type", "actions")
234
+ fields = ("object", "action", "object_type", "diffs")
235
+ default_columns = ("object", "action", "object_type", "diffs")
226
236
 
227
237
 
228
238
  class IPFabricIngestionIssuesTable(NetBoxTable):
@@ -9,7 +9,7 @@
9
9
  <div class="row mb-3">
10
10
  <div class="col-6">
11
11
  <div class="card">
12
- <h5 class="card-header">%{ trans "Pre-Change Data" %}</h5>
12
+ <h5 class="card-header">{% trans "Pre-Change Data" %}</h5>
13
13
  <div class="card-body">
14
14
  {% if prechange_data %}
15
15
  <pre class="change-data">{% for k, v in prechange_data.items %}{% spaceless %}
@@ -17,14 +17,14 @@
17
17
  {% endspaceless %}{% endfor %}
18
18
  </pre>
19
19
  {% else %}
20
- <span class="text-muted">%{ trans "None" %}</span>
20
+ <span class="text-muted">{% trans "None" %}</span>
21
21
  {% endif %}
22
22
  </div>
23
23
  </div>
24
24
  </div>
25
25
  <div class="col-6">
26
26
  <div class="card">
27
- <h5 class="card-header">%{ trans "Post-Change Data" %}</h5>
27
+ <h5 class="card-header">{% trans "Post-Change Data" %}</h5>
28
28
  <div class="card-body">
29
29
  {% if postchange_data %}
30
30
  <pre class="change-data">{% for k, v in postchange_data.items %}{% spaceless %}
@@ -38,7 +38,7 @@
38
38
  <div class="col">
39
39
  <div class="card">
40
40
  <div class="card-header">
41
- <h5 class="d-inline">%{ trans "Difference" %}</h5>
41
+ <h5 class="d-inline">{% trans "Difference" %}</h5>
42
42
  <!-- <div class="btn-group btn-group-sm float-end noprint">
43
43
  <a {% if prev_change %}href="{% url 'extras:objectchange' pk=prev_change.pk %}"{% else %}disabled{% endif %} class="btn btn-outline-secondary">
44
44
  <i class="mdi mdi-chevron-left" aria-hidden="true"></i> Previous
@@ -52,11 +52,11 @@
52
52
  {% if diff_added == diff_removed %}
53
53
  <span class="text-muted" style="margin-left: 10px;">
54
54
  {% if object.action == 'create' %}
55
- %{ trans "Object Created" %}
55
+ {% trans "Object Created" %}
56
56
  {% elif object.action == 'delete' %}
57
- %{ trans "Object Deleted" %}
57
+ {% trans "Object Deleted" %}
58
58
  {% else %}
59
- %{ trans "No Changes" %}
59
+ {% trans "No Changes" %}
60
60
  {% endif %}
61
61
  </span>
62
62
  {% else %}
@@ -18,7 +18,7 @@
18
18
  <div class="row mb-3">
19
19
  <div class="col col-md-6">
20
20
  <div class="card">
21
- <h5 class="card-header">{% trans "Snapshot Information</h5>
21
+ <h5 class="card-header">{% trans "Snapshot Information" %}</h5>
22
22
  <div class="card-body">
23
23
  <table class="table table-hover attr-table">
24
24
  <tr>
@@ -727,7 +727,13 @@ class IPFabricSourceTopology(LoginRequiredMixin, View):
727
727
  # region - Sync
728
728
  @register_model_view(IPFabricSync, "list", path="", detail=False)
729
729
  class IPFabricSyncListView(generic.ObjectListView):
730
- queryset = IPFabricSync.objects.all()
730
+ queryset = IPFabricSync.objects.annotate(
731
+ last_ingestion_pk=models.Subquery(
732
+ IPFabricIngestion.objects.filter(sync=models.OuterRef("pk"))
733
+ .order_by("-pk")
734
+ .values("pk")[:1]
735
+ )
736
+ )
731
737
  table = IPFabricSyncTable
732
738
  filterset = IPFabricSyncFilterSet
733
739
  actions = (AddObject, BulkExport, BulkEdit, BulkRename, BulkDelete)
@@ -877,6 +883,8 @@ class IPFabricIngestionTabView(generic.ObjectChildrenView):
877
883
  description=models.F("branch__description"),
878
884
  user=models.F("sync__user__username"),
879
885
  staged_changes=models.Count(models.F("branch__changediff")),
886
+ branch_name=models.F("branch__name"),
887
+ sync_name=models.F("sync__name"),
880
888
  )
881
889
 
882
890
 
@@ -890,6 +898,8 @@ class IPFabricIngestionListView(generic.ObjectListView):
890
898
  description=models.F("branch__description"),
891
899
  user=models.F("sync__user__username"),
892
900
  staged_changes=models.Count(models.F("branch__changediff")),
901
+ branch_name=models.F("branch__name"),
902
+ sync_name=models.F("sync__name"),
893
903
  )
894
904
  filterset = IPFabricIngestionFilterSet
895
905
  filterset_form = IPFabricIngestionFilterForm
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "ipfabric_netbox"
3
- version = "4.3.2b2"
3
+ version = "4.3.2b4"
4
4
  description = "NetBox plugin to sync IP Fabric data into NetBox"
5
5
  authors = ["Solution Architecture <solution.architecture@ipfabric.io>"]
6
6
  license = "MIT"