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)}
.
- Returns dictionary of
-
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 asadd_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
, andDevices
objects. - Added
prev_snapshot_id
toIPFClient
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()