Snapshots¶
Creating Snapshots¶
Use the .create_snapshot
>>> snap = volume.create_snapshot()
>>> snap_of_snap = snap.create_snapshot()
Creating Group Snapshots¶
You can create a group of snapshots (not to be confused with Consistency Groups) using create_group_snapshot()
:
>>> v1, v2, v3 = volumes = [system.volumes.create(pool=pool) for i in range(3)]
>>> s1, s2, s3 = system.volumes.create_group_snapshot(volumes)
Querying Snapshots¶
The parent of a snapshot is accessed through the snap.get_parent/vol.get_parent
method:
>>> snap.get_parent() == volume
True
>>> volume.get_parent() is None
True
You can inspect the snapshot’s creation time:
>>> creation_time = snap.get_creation_time()
>>> delta = current_time - creation_time
>>> delta.days
15
Note
Time is represented in InfiniSDK with Arrow objects. See the relevant documentation for more details on how to use and manipulate these values.
Example: Deleting Snapshots by Creation Time¶
>>> cutoff = current_time.shift(days=-10)
>>> for snapshot in system.volumes.find(system.volumes.fields.created_at < cutoff, parent_id=volume.id):
... print("Deleting snapshot with id:", snapshot.id)
... snapshot.delete()
Deleting snapshot with id: ...
See also