gitlab ip-fabric/integrations/python-ipfabric v6.7.0

latest releases: v6.8.0, v6.7.3, v6.7.2...
2 months ago

Feature

  • Poetry update
  • Added the following Snapshot methods see modification.py:
    • verify_snapshot_devices: Checks if a list of Serial Numbers (sn) or Device objects have the vendor disabled in the snapshot.
      • Returns dictionary of {'disabled': Set(sn), 'invalid': Set(sn), 'valid': Set(sn)}.
    • rediscover_devices: Will rediscover device(s) in a snapshot by Serial Numbers (sn) or Device objects.
    • delete_devices: Will delete device(s) in a snapshot by Serial Numbers (sn) or Device objects.
    • add_devices: Add devices to snapshot by IP or network.
      • Default like the GUI it will refresh Vendor API devices and retry Timed Out devices.
    • add_ip_devices: Same as add_devices without Vendor API and Timed Out devices.
    • refresh_vendor_api: Refresh only Vendor API devices that are enabled in the snapshot settings.
    • retry_timed_out_devices: Retries devices that timed out during discovery.
    • discovery_errors: Gets all discovery errors wth details for the snapshot.
    • discovery_tasks: Gets all discovery tasks for the snapshot.
  • Refactored IPFClient, DeviceTable, and Devices objects.
  • Added prev_snapshot_id to IPFClient which is updated when switching snapshots.
  • Updated OAS logic for available columns in the UI, some columns are hidden and will not display.
  • Diagrams: Added the ability to overlay based on an Intent Check Name besides an ID.
  • Shared Urls:
    • Examples can be found in network_diagram.py
    • IPFClient().share_link(url, filters={}, columns=[], sort={})
      • Creates a shared view of a table and returns the the URL.
      • Requires a filter, sort is optional, columns to display is optional and will default to all.
      • Some columns are hidden in the UI and will not be displayed but will return in the API, a message will be logged if a hidden column is found.
    • IPFClient().shared_view(url, data=True)
      • Takes shared view of a table and returns the data.
      • data=False returns a string representing the code on how to implement in Python using the SDK.
    • IPFClient().diagrams.share_link(**kwargs)
      • Creates a shareable URL link for a diagram.
      • Takes same input as other methods (.json(), .svg(), etc.)
    • IPFClient().diagrams.shared_view(url, image:Literal["json", "code", "model", "svg", "png"]='json', positions=False)
      • Takes shared view of a diagram and returns the requested version.
      • image='code returns a string representing the code on how to implement in Python using the SDK.
      • Hidden and Collapsed Nodes are only available via the UI.

Fix

  • IPFClient().intent.intent_by_name is incorrect as Intent Names are not unique.
    • This property will be removed in v6.10 or v7.0 whichever comes first.
    • IPFClient().intent.intents_by_name will replace it returning a dictionary of list of Intent Checks.
  • Fixes for IPFClient().diagram.model()

Don't miss a new python-ipfabric release

NewReleases is sending notifications on new releases.